From a27dbac9f671cbcf8341ed9861cad4063eb632df Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Thu, 17 Sep 2020 11:50:15 +0200 Subject: [PATCH 1/8] Pneumatic library components are added. Signed-off-by: Petter Krus --- devPneumatic/.dll | Bin 0 -> 40540 bytes devPneumatic/Examples/PneumaticPistonTest.hmf | 2141 +++++++++++++++ .../Examples/PneumaticPsourceTest.hmf | 2266 +++++++++++++++ .../Examples/PneumaticValve22Test.hmf | 887 ++++++ .../Examples/PneumaticValve32Test.hmf | 998 +++++++ .../Examples/PneumaticValve42Test.hmf | 1155 ++++++++ .../Examples/PneumaticValve52Test.hmf | 2442 +++++++++++++++++ devPneumatic/Examples/Valve52Piston.hmf | 1948 +++++++++++++ devPneumatic/Pneumatic.cc | 51 + devPneumatic/Pneumatic.pro | 49 + devPneumatic/Pneumatic.xml | 51 + devPneumatic/PneumaticComponents.pptx | Bin 0 -> 132685 bytes devPneumatic/PneumaticCompressor.hpp | 476 ++++ devPneumatic/PneumaticCompressor.nb | 1399 ++++++++++ devPneumatic/PneumaticCompressor.svg | 126 + devPneumatic/PneumaticCompressor.xml | 18 + devPneumatic/PneumaticConnector.nb | 737 +++++ devPneumatic/PneumaticExhaust.hpp | 159 ++ devPneumatic/PneumaticExhaust.nb | 596 ++++ devPneumatic/PneumaticExhaust.svg | 161 ++ devPneumatic/PneumaticExhaust.xml | 18 + ...ia f\303\266r Petter Krus 2020-08-17).dll" | Bin 0 -> 1021076 bytes ...ia f\303\266r Petter Krus 2020-09-04).dll" | Bin 0 -> 1036788 bytes devPneumatic/PneumaticLib.dll | Bin 0 -> 1036788 bytes devPneumatic/PneumaticPCIvalve32.hpp | 809 ++++++ devPneumatic/PneumaticPCIvalve32.nb | 1613 +++++++++++ devPneumatic/PneumaticPCIvalve32.svg | 1346 +++++++++ devPneumatic/PneumaticPCIvalve32.xml | 21 + devPneumatic/PneumaticPCvalve32.hpp | 809 ++++++ devPneumatic/PneumaticPCvalve32.nb | 1609 +++++++++++ devPneumatic/PneumaticPCvalve32.svg | 1199 ++++++++ devPneumatic/PneumaticPCvalve32.xml | 21 + devPneumatic/PneumaticPCvalve52.svg | 1055 +++++++ devPneumatic/PneumaticPiston1.xml | 52 + devPneumatic/PneumaticPistonMass.hpp | 529 ++++ devPneumatic/PneumaticPistonMass.nb | 1020 +++++++ devPneumatic/PneumaticPistonMass.pdf | Bin 0 -> 84382 bytes devPneumatic/PneumaticPistonMass.svg | 412 +++ devPneumatic/PneumaticPistonMass.xml | 20 + devPneumatic/PneumaticPistonSASpringMass.hpp | 419 +++ devPneumatic/PneumaticPistonSASpringMass.nb | 1044 +++++++ devPneumatic/PneumaticPistonSASpringMass.pdf | Bin 0 -> 77665 bytes devPneumatic/PneumaticPistonSASpringMass.svg | 415 +++ devPneumatic/PneumaticPistonSASpringMass.xml | 19 + devPneumatic/PneumaticPistonSpringMass.hpp | 529 ++++ devPneumatic/PneumaticPistonSpringMass.nb | 984 +++++++ devPneumatic/PneumaticPistonSpringMass.svg | 381 +++ devPneumatic/PneumaticPistonSpringMass.xml | 20 + devPneumatic/PneumaticPressureActivation.hpp | 168 ++ devPneumatic/PneumaticPressureActivation.nb | 572 ++++ devPneumatic/PneumaticPressureActivation.svg | 1346 +++++++++ devPneumatic/PneumaticPressureActivation.xml | 19 + devPneumatic/PneumaticPsource.hpp | 159 ++ devPneumatic/PneumaticPsource.nb | 277 ++ devPneumatic/PneumaticPsourceM.hpp | 136 + devPneumatic/PneumaticPsourceM.svg | 93 + devPneumatic/PneumaticPsourceM.xml | 19 + devPneumatic/PneumaticRestrictor.hpp | 421 +++ devPneumatic/PneumaticRestrictor.nb | 736 +++++ devPneumatic/PneumaticRestrictor.pdf | Bin 0 -> 75125 bytes devPneumatic/PneumaticRestrictor.svg | 811 ++++++ devPneumatic/PneumaticRestrictor.xml | 20 + devPneumatic/PneumaticSourceM.hpp | 120 + devPneumatic/PneumaticSourceM3.hpp | 120 + devPneumatic/PneumaticValve22.hpp | 432 +++ devPneumatic/PneumaticValve22.nb | 993 +++++++ devPneumatic/PneumaticValve22.pdf | Bin 0 -> 55164 bytes devPneumatic/PneumaticValve22.svg | 1394 ++++++++++ devPneumatic/PneumaticValve22.xml | 19 + devPneumatic/PneumaticValve22G.nb | 894 ++++++ devPneumatic/PneumaticValve32.hpp | 663 +++++ devPneumatic/PneumaticValve32.nb | 1256 +++++++++ devPneumatic/PneumaticValve32.pdf | Bin 0 -> 90865 bytes devPneumatic/PneumaticValve32.svg | 1199 ++++++++ devPneumatic/PneumaticValve32.xml | 21 + devPneumatic/PneumaticValve32G.nb | 1444 ++++++++++ devPneumatic/PneumaticValve33.hpp | 663 +++++ devPneumatic/PneumaticValve33.nb | 1488 ++++++++++ devPneumatic/PneumaticValve33.pdf | Bin 0 -> 91274 bytes devPneumatic/PneumaticValve33.svg | 478 ++++ devPneumatic/PneumaticValve33.xml | 21 + devPneumatic/PneumaticValve33G.nb | 1331 +++++++++ devPneumatic/PneumaticValve42.hpp | 1125 ++++++++ devPneumatic/PneumaticValve42.nb | 2151 +++++++++++++++ devPneumatic/PneumaticValve42.pdf | Bin 0 -> 120563 bytes devPneumatic/PneumaticValve42.svg | 1357 +++++++++ devPneumatic/PneumaticValve42.xml | 22 + devPneumatic/PneumaticValve42G.nb | 1950 +++++++++++++ devPneumatic/PneumaticValve43.hpp | 1128 ++++++++ devPneumatic/PneumaticValve43.nb | 2306 ++++++++++++++++ devPneumatic/PneumaticValve43.pdf | Bin 0 -> 83608 bytes devPneumatic/PneumaticValve43.svg | 938 +++++++ devPneumatic/PneumaticValve43.xml | 22 + devPneumatic/PneumaticValve43G.nb | 1941 +++++++++++++ devPneumatic/PneumaticValve52.hpp | 1214 ++++++++ devPneumatic/PneumaticValve52.nb | 1682 ++++++++++++ devPneumatic/PneumaticValve52.pdf | Bin 0 -> 94430 bytes devPneumatic/PneumaticValve52.svg | 1055 +++++++ devPneumatic/PneumaticValve52.xml | 23 + devPneumatic/PneumaticValve53.hpp | 1214 ++++++++ devPneumatic/PneumaticValve53.nb | 1705 ++++++++++++ devPneumatic/PneumaticValve53.pdf | Bin 0 -> 94415 bytes devPneumatic/PneumaticValve53.svg | 814 ++++++ devPneumatic/PneumaticValve53.xml | 23 + devPneumatic/PneumaticValves.svg | 820 ++++++ devPneumatic/PneumaticVolume2.hpp | 308 +++ devPneumatic/PneumaticVolumeM.hpp | 174 ++ devPneumatic/PneumaticVolumeM.svg | 68 + devPneumatic/PneumaticVolumeM.xml | 18 + devPneumatic/PneumaticVolumeMulti.hpp | 196 ++ devPneumatic/PneumaticVolumeMulti.svg | 68 + devPneumatic/PneumaticdEsensor.svg | 145 + devPneumatic/compile.bat | 7 + devPneumatic/desktop.ini | Bin 0 -> 176 bytes devPneumatic/volume_iso.svg | 93 + devPneumatic/volume_user.svg | 100 + devPneumatic/volume_user_movable.svg | 101 + devPneumatic/volume_user_overlay.svg | 101 + devPneumatic/volumemulti_iso.svg | 89 + 119 files changed, 70275 insertions(+) create mode 100644 devPneumatic/.dll create mode 100644 devPneumatic/Examples/PneumaticPistonTest.hmf create mode 100644 devPneumatic/Examples/PneumaticPsourceTest.hmf create mode 100644 devPneumatic/Examples/PneumaticValve22Test.hmf create mode 100644 devPneumatic/Examples/PneumaticValve32Test.hmf create mode 100644 devPneumatic/Examples/PneumaticValve42Test.hmf create mode 100644 devPneumatic/Examples/PneumaticValve52Test.hmf create mode 100644 devPneumatic/Examples/Valve52Piston.hmf create mode 100644 devPneumatic/Pneumatic.cc create mode 100644 devPneumatic/Pneumatic.pro create mode 100644 devPneumatic/Pneumatic.xml create mode 100644 devPneumatic/PneumaticComponents.pptx create mode 100644 devPneumatic/PneumaticCompressor.hpp create mode 100644 devPneumatic/PneumaticCompressor.nb create mode 100644 devPneumatic/PneumaticCompressor.svg create mode 100644 devPneumatic/PneumaticCompressor.xml create mode 100644 devPneumatic/PneumaticConnector.nb create mode 100644 devPneumatic/PneumaticExhaust.hpp create mode 100644 devPneumatic/PneumaticExhaust.nb create mode 100644 devPneumatic/PneumaticExhaust.svg create mode 100644 devPneumatic/PneumaticExhaust.xml create mode 100644 "devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-08-17).dll" create mode 100644 "devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-09-04).dll" create mode 100644 devPneumatic/PneumaticLib.dll create mode 100644 devPneumatic/PneumaticPCIvalve32.hpp create mode 100644 devPneumatic/PneumaticPCIvalve32.nb create mode 100644 devPneumatic/PneumaticPCIvalve32.svg create mode 100644 devPneumatic/PneumaticPCIvalve32.xml create mode 100644 devPneumatic/PneumaticPCvalve32.hpp create mode 100644 devPneumatic/PneumaticPCvalve32.nb create mode 100644 devPneumatic/PneumaticPCvalve32.svg create mode 100644 devPneumatic/PneumaticPCvalve32.xml create mode 100644 devPneumatic/PneumaticPCvalve52.svg create mode 100644 devPneumatic/PneumaticPiston1.xml create mode 100644 devPneumatic/PneumaticPistonMass.hpp create mode 100644 devPneumatic/PneumaticPistonMass.nb create mode 100644 devPneumatic/PneumaticPistonMass.pdf create mode 100644 devPneumatic/PneumaticPistonMass.svg create mode 100644 devPneumatic/PneumaticPistonMass.xml create mode 100644 devPneumatic/PneumaticPistonSASpringMass.hpp create mode 100644 devPneumatic/PneumaticPistonSASpringMass.nb create mode 100644 devPneumatic/PneumaticPistonSASpringMass.pdf create mode 100644 devPneumatic/PneumaticPistonSASpringMass.svg create mode 100644 devPneumatic/PneumaticPistonSASpringMass.xml create mode 100644 devPneumatic/PneumaticPistonSpringMass.hpp create mode 100644 devPneumatic/PneumaticPistonSpringMass.nb create mode 100644 devPneumatic/PneumaticPistonSpringMass.svg create mode 100644 devPneumatic/PneumaticPistonSpringMass.xml create mode 100644 devPneumatic/PneumaticPressureActivation.hpp create mode 100644 devPneumatic/PneumaticPressureActivation.nb create mode 100644 devPneumatic/PneumaticPressureActivation.svg create mode 100644 devPneumatic/PneumaticPressureActivation.xml create mode 100644 devPneumatic/PneumaticPsource.hpp create mode 100644 devPneumatic/PneumaticPsource.nb create mode 100644 devPneumatic/PneumaticPsourceM.hpp create mode 100644 devPneumatic/PneumaticPsourceM.svg create mode 100644 devPneumatic/PneumaticPsourceM.xml create mode 100644 devPneumatic/PneumaticRestrictor.hpp create mode 100644 devPneumatic/PneumaticRestrictor.nb create mode 100644 devPneumatic/PneumaticRestrictor.pdf create mode 100644 devPneumatic/PneumaticRestrictor.svg create mode 100644 devPneumatic/PneumaticRestrictor.xml create mode 100644 devPneumatic/PneumaticSourceM.hpp create mode 100644 devPneumatic/PneumaticSourceM3.hpp create mode 100644 devPneumatic/PneumaticValve22.hpp create mode 100644 devPneumatic/PneumaticValve22.nb create mode 100644 devPneumatic/PneumaticValve22.pdf create mode 100644 devPneumatic/PneumaticValve22.svg create mode 100644 devPneumatic/PneumaticValve22.xml create mode 100644 devPneumatic/PneumaticValve22G.nb create mode 100644 devPneumatic/PneumaticValve32.hpp create mode 100644 devPneumatic/PneumaticValve32.nb create mode 100644 devPneumatic/PneumaticValve32.pdf create mode 100644 devPneumatic/PneumaticValve32.svg create mode 100644 devPneumatic/PneumaticValve32.xml create mode 100644 devPneumatic/PneumaticValve32G.nb create mode 100644 devPneumatic/PneumaticValve33.hpp create mode 100644 devPneumatic/PneumaticValve33.nb create mode 100644 devPneumatic/PneumaticValve33.pdf create mode 100644 devPneumatic/PneumaticValve33.svg create mode 100644 devPneumatic/PneumaticValve33.xml create mode 100644 devPneumatic/PneumaticValve33G.nb create mode 100644 devPneumatic/PneumaticValve42.hpp create mode 100644 devPneumatic/PneumaticValve42.nb create mode 100644 devPneumatic/PneumaticValve42.pdf create mode 100644 devPneumatic/PneumaticValve42.svg create mode 100644 devPneumatic/PneumaticValve42.xml create mode 100644 devPneumatic/PneumaticValve42G.nb create mode 100644 devPneumatic/PneumaticValve43.hpp create mode 100644 devPneumatic/PneumaticValve43.nb create mode 100644 devPneumatic/PneumaticValve43.pdf create mode 100644 devPneumatic/PneumaticValve43.svg create mode 100644 devPneumatic/PneumaticValve43.xml create mode 100644 devPneumatic/PneumaticValve43G.nb create mode 100644 devPneumatic/PneumaticValve52.hpp create mode 100644 devPneumatic/PneumaticValve52.nb create mode 100644 devPneumatic/PneumaticValve52.pdf create mode 100644 devPneumatic/PneumaticValve52.svg create mode 100644 devPneumatic/PneumaticValve52.xml create mode 100644 devPneumatic/PneumaticValve53.hpp create mode 100644 devPneumatic/PneumaticValve53.nb create mode 100644 devPneumatic/PneumaticValve53.pdf create mode 100644 devPneumatic/PneumaticValve53.svg create mode 100644 devPneumatic/PneumaticValve53.xml create mode 100644 devPneumatic/PneumaticValves.svg create mode 100644 devPneumatic/PneumaticVolume2.hpp create mode 100644 devPneumatic/PneumaticVolumeM.hpp create mode 100644 devPneumatic/PneumaticVolumeM.svg create mode 100644 devPneumatic/PneumaticVolumeM.xml create mode 100644 devPneumatic/PneumaticVolumeMulti.hpp create mode 100644 devPneumatic/PneumaticVolumeMulti.svg create mode 100644 devPneumatic/PneumaticdEsensor.svg create mode 100644 devPneumatic/compile.bat create mode 100644 devPneumatic/desktop.ini create mode 100644 devPneumatic/volume_iso.svg create mode 100644 devPneumatic/volume_user.svg create mode 100644 devPneumatic/volume_user_movable.svg create mode 100644 devPneumatic/volume_user_overlay.svg create mode 100644 devPneumatic/volumemulti_iso.svg diff --git a/devPneumatic/.dll b/devPneumatic/.dll new file mode 100644 index 0000000000000000000000000000000000000000..ff1ab1413b4c706699c4a200c5919e3babeb03d7 GIT binary patch literal 40540 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 CyfL`| literal 0 HcmV?d00001 diff --git a/devPneumatic/Examples/PneumaticPistonTest.hmf b/devPneumatic/Examples/PneumaticPistonTest.hmf new file mode 100644 index 0000000..9fd0bf2 --- /dev/null +++ b/devPneumatic/Examples/PneumaticPistonTest.hmf @@ -0,0 +1,2141 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + PneumaticLib + PneumaticLib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + diff --git a/devPneumatic/Examples/PneumaticPsourceTest.hmf b/devPneumatic/Examples/PneumaticPsourceTest.hmf new file mode 100644 index 0000000..b0d549f --- /dev/null +++ b/devPneumatic/Examples/PneumaticPsourceTest.hmf @@ -0,0 +1,2266 @@ + + + + + PneumaticLib + PneumaticLib + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + diff --git a/devPneumatic/Examples/PneumaticValve22Test.hmf b/devPneumatic/Examples/PneumaticValve22Test.hmf new file mode 100644 index 0000000..b28bea2 --- /dev/null +++ b/devPneumatic/Examples/PneumaticValve22Test.hmf @@ -0,0 +1,887 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + Pneumaticlib + Pneumaticlib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + diff --git a/devPneumatic/Examples/PneumaticValve32Test.hmf b/devPneumatic/Examples/PneumaticValve32Test.hmf new file mode 100644 index 0000000..001fb9d --- /dev/null +++ b/devPneumatic/Examples/PneumaticValve32Test.hmf @@ -0,0 +1,998 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + PneumaticLib + PneumaticLib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + diff --git a/devPneumatic/Examples/PneumaticValve42Test.hmf b/devPneumatic/Examples/PneumaticValve42Test.hmf new file mode 100644 index 0000000..481d072 --- /dev/null +++ b/devPneumatic/Examples/PneumaticValve42Test.hmf @@ -0,0 +1,1155 @@ + + + + + PneumaticLib + PneumaticLib + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + diff --git a/devPneumatic/Examples/PneumaticValve52Test.hmf b/devPneumatic/Examples/PneumaticValve52Test.hmf new file mode 100644 index 0000000..9e06a0d --- /dev/null +++ b/devPneumatic/Examples/PneumaticValve52Test.hmf @@ -0,0 +1,2442 @@ + + + + + PneumaticLib + PneumaticLib + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + diff --git a/devPneumatic/Examples/Valve52Piston.hmf b/devPneumatic/Examples/Valve52Piston.hmf new file mode 100644 index 0000000..86d249c --- /dev/null +++ b/devPneumatic/Examples/Valve52Piston.hmf @@ -0,0 +1,1948 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + PneumaticLib + PneumaticLib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + diff --git a/devPneumatic/Pneumatic.cc b/devPneumatic/Pneumatic.cc new file mode 100644 index 0000000..b544d1f --- /dev/null +++ b/devPneumatic/Pneumatic.cc @@ -0,0 +1,51 @@ +#include +#include "ComponentEssentials.h" +#include "PneumaticPistonMass.hpp" +#include "PneumaticPistonSASpringMass.hpp" +#include "PneumaticPistonSpringMass.hpp" +#include "PneumaticCompressor.hpp" +#include "PneumaticRestrictor.hpp" +#include "PneumaticValve22.hpp" +#include "PneumaticValve32.hpp" +#include "PneumaticValve42.hpp" +#include "PneumaticValve43.hpp" +#include "PneumaticValve33.hpp" +#include "PneumaticValve52.hpp" +#include "PneumaticValve53.hpp" +#include "PneumaticExhaust.hpp" +#include "PneumaticPressureActivation.hpp" +#include "PneumaticVolumeM.hpp" +#include "PneumaticPsourceM.hpp" + +using namespace hopsan; + +extern "C" DLLEXPORT void register_contents(ComponentFactory* pComponentFactory, NodeFactory* pNodeFactory) +{ + //Register Components + pComponentFactory->registerCreatorFunction("PneumaticPistonMass", PneumaticPistonMass::Creator); + pComponentFactory->registerCreatorFunction("PneumaticPistonSASpringMass", PneumaticPistonSASpringMass::Creator); + pComponentFactory->registerCreatorFunction("PneumaticPistonSpringMass", PneumaticPistonSpringMass::Creator); + pComponentFactory->registerCreatorFunction("PneumaticCompressor", PneumaticCompressor::Creator); + pComponentFactory->registerCreatorFunction("PneumaticRestrictor", PneumaticRestrictor::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve22", PneumaticValve22::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve32", PneumaticValve32::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve42", PneumaticValve42::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve43", PneumaticValve43::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve33", PneumaticValve33::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve52", PneumaticValve52::Creator); + pComponentFactory->registerCreatorFunction("PneumaticValve53", PneumaticValve53::Creator); + pComponentFactory->registerCreatorFunction("PneumaticExhaust", PneumaticExhaust::Creator); + pComponentFactory->registerCreatorFunction("PneumaticPressureActivation", PneumaticPressureActivation::Creator); + pComponentFactory->registerCreatorFunction("PneumaticVolumeM", PneumaticVolumeM::Creator); + pComponentFactory->registerCreatorFunction("PneumaticPsourceM", PneumaticPsourceM::Creator); + + //Register custom nodes (if any) + HOPSAN_UNUSED(pNodeFactory); +} + +extern "C" DLLEXPORT void get_hopsan_info(HopsanExternalLibInfoT *pHopsanExternalLibInfo) +{ + pHopsanExternalLibInfo->hopsanCoreVersion = (char*)HOPSANCOREVERSION; + pHopsanExternalLibInfo->libCompiledDebugRelease = (char*)DEBUGRELEASECOMPILED; + pHopsanExternalLibInfo->libName = (char*)"PneumaticLib"; +} diff --git a/devPneumatic/Pneumatic.pro b/devPneumatic/Pneumatic.pro new file mode 100644 index 0000000..733b470 --- /dev/null +++ b/devPneumatic/Pneumatic.pro @@ -0,0 +1,49 @@ +# QT -= core gui, means that we should not link the default qt libs into the component +# Template = lib, means that we want to build a library (.dll or .so) +QT -= core gui +TEMPLATE = lib + +# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) +# Change this to the name of YOUR lib +TARGET = devTestLib + +# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build +DESTDIR = $${PWD}/ + +# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files +# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. +# *= Means append unique +INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ + +# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library +LIBS *= -L$${PWD}/../../../bin + +# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so +# In debug mode HopsanCore has the debug extension _d +include(hopsanDebugReleaseCompile.prf) + +# ------------------------------------------------- +# Project files +# ------------------------------------------------- +SOURCES += \ + TestLib.cc + +HEADERS += \ + PneumaticPistonMass.hpp + PneumaticPistonSASpringMass.hpp + PneumaticPistonSpringMass.hpp + PneumaticCompressor.hpp + PneumaticRestrictor.hpp + PneumaticValve22.hpp + PneumaticValve32.hpp + PneumaticValve42.hpp + PneumaticValve33.hpp + PneumaticValve43.hpp + PneumaticValve52.hpp + PneumaticValve53.hpp + PneumaticExhaust.hpp + PneumaticPressureActivation.hpp + PneumaticVolumeM.hpp + +OTHER_FILES += \ + hopsanDebugReleaseCompile.prf diff --git a/devPneumatic/Pneumatic.xml b/devPneumatic/Pneumatic.xml new file mode 100644 index 0000000..84a2be5 --- /dev/null +++ b/devPneumatic/Pneumatic.xml @@ -0,0 +1,51 @@ + + + PneumaticLib + PneumaticLib + PneumaticLib + + -std=c++11 + + + + + + Pneumatic.cc + + + PneumaticPistonMass.hpp + PneumaticPistonSASpringMass.hpp + PneumaticPistonSpringMass.hpp + PneumaticCompressor.hpp + PneumaticRestrictor.hpp + PneumaticValve22.hpp + PneumaticValve32.hpp + PneumaticValve42.hpp + PneumaticValve43.hpp + PneumaticValve33.hpp + PneumaticValve52.hpp + PneumaticValve53.hpp + PneumaticExhaust.hpp + PneumaticPressureActivation.hpp + PneumaticVolumeM.hpp + PneumaticPsourceM.hpp + + PneumaticPistonMass.xml + PneumaticPistonSASpringMass.xml + PneumaticPistonSpringMass.xml + PneumaticCompressor.xml + PneumaticRestrictor.xml + PneumaticValve22.xml + PneumaticValve32.xml + PneumaticValve42.xml + PneumaticValve43.xml + PneumaticValve33.xml + PneumaticValve52.xml + PneumaticValve53.xml + PneumaticExhaust.xml + PneumaticPressureActivation.xml + PneumaticVolumeM.xml + PneumaticPsourceM.xml + + + diff --git a/devPneumatic/PneumaticComponents.pptx b/devPneumatic/PneumaticComponents.pptx new file mode 100644 index 0000000000000000000000000000000000000000..a79c72cc3c8d117d34313eb559cae045b69cc277 GIT binary patch literal 132685 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

T-k`WvEIUFQu#1&7= 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

~@ERT-9yq@1Dt9m6I1#12 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 +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticCompressor.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Sat 22 Aug 2020 01:11:20 +//! @brief This is a pump/motor with an inertia load +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticCompressor.nb*/ + +using namespace hopsan; + +class PneumaticCompressor : public ComponentQ +{ +private: + double Dm; + double Cim; + double Bm; + double Jm; + double R; + double cv; + Port *mpPp1; + Port *mpPp2; + Port *mpPmr1; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[8]; + int mNstep; + //Port Pp1 variable + double pp1; + double qmp1; + double Tp1; + double dEp1; + double cp1; + double Zcp1; + //Port Pp2 variable + double pp2; + double qmp2; + double Tp2; + double dEp2; + double cp2; + double Zcp2; + //Port Pmr1 variable + double tormr1; + double thetamr1; + double wmr1; + double cmr1; + double Zcmr1; + double eqInertiamr1; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //LocalExpressions variables + double cp; + //Expressions variables + //Port Pp1 pointer + double *mpP_pp1; + double *mpP_qmp1; + double *mpP_Tp1; + double *mpP_dEp1; + double *mpP_cp1; + double *mpP_Zcp1; + //Port Pp2 pointer + double *mpP_pp2; + double *mpP_qmp2; + double *mpP_Tp2; + double *mpP_dEp2; + double *mpP_cp2; + double *mpP_Zcp2; + //Port Pmr1 pointer + double *mpP_tormr1; + double *mpP_thetamr1; + double *mpP_wmr1; + double *mpP_cmr1; + double *mpP_Zcmr1; + double *mpP_eqInertiamr1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpDm; + double *mpCim; + double *mpBm; + double *mpJm; + double *mpR; + double *mpcv; + //outputVariables pointers + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart12; + Delay mDelayedPart20; + Delay mDelayedPart21; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticCompressor(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(8,8); + systemEquations.create(8); + delayedPart.create(9,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpPp1=addPowerPort("Pp1","NodePneumatic"); + mpPp2=addPowerPort("Pp2","NodePneumatic"); + mpPmr1=addPowerPort("Pmr1","NodeMechanicRotational"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("Dm", "Displacement", "m3", \ +0.000049999999999999996,&mpDm); + addInputVariable("Cim", "Leak coeff.", "m3/(s Pa)", 0.,&mpCim); + addInputVariable("Bm", "Visc. friction coeff.", "N/m/s", \ +0.,&mpBm); + addInputVariable("Jm", "Moment of inertia", "kg/m2", 0.1,&mpJm); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,8); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Pp1 + mpP_pp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Pressure); + mpP_qmp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::MassFlow); + mpP_Tp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Temperature); + mpP_dEp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::EnergyFlow); + mpP_cp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::WaveVariable); + mpP_Zcp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::CharImpedance); + //Port Pp2 + mpP_pp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::Pressure); + mpP_qmp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::MassFlow); + mpP_Tp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::Temperature); + mpP_dEp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::EnergyFlow); + mpP_cp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::WaveVariable); + mpP_Zcp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::CharImpedance); + //Port Pmr1 + mpP_tormr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::Torque); + mpP_thetamr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::Angle); + mpP_wmr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::AngularVelocity); + mpP_cmr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::WaveVariable); + mpP_Zcmr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::CharImpedance); + mpP_eqInertiamr1=getSafeNodeDataPtr(mpPmr1, \ +NodeMechanicRotational::EquivalentInertia); + + //Read variables from nodes + //Port Pp1 + pp1 = (*mpP_pp1); + qmp1 = (*mpP_qmp1); + Tp1 = (*mpP_Tp1); + dEp1 = (*mpP_dEp1); + cp1 = (*mpP_cp1); + Zcp1 = (*mpP_Zcp1); + //Port Pp2 + pp2 = (*mpP_pp2); + qmp2 = (*mpP_qmp2); + Tp2 = (*mpP_Tp2); + dEp2 = (*mpP_dEp2); + cp2 = (*mpP_cp2); + Zcp2 = (*mpP_Zcp2); + //Port Pmr1 + tormr1 = (*mpP_tormr1); + thetamr1 = (*mpP_thetamr1); + wmr1 = (*mpP_wmr1); + cmr1 = (*mpP_cmr1); + Zcmr1 = (*mpP_Zcmr1); + eqInertiamr1 = (*mpP_eqInertiamr1); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Dm = (*mpDm); + Cim = (*mpCim); + Bm = (*mpBm); + Jm = (*mpJm); + R = (*mpR); + cv = (*mpcv); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + cp = cv + R; + + //Initialize delays + delayParts1[1] = (1.*(2.*Dm*Power(mTimestep,2)*pp1 - \ +2.*Dm*Power(mTimestep,2)*pp2 + 50.265*Jm*thetamr1 - \ +12.566*Power(mTimestep,2)*tormr1))/(-25.133*Jm - 12.566*Bm*mTimestep); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + delayParts1[2] = (1.*(1.*Dm*Power(mTimestep,2)*pp1 - \ +1.*Dm*Power(mTimestep,2)*pp2 - 25.133*Jm*thetamr1 + \ +12.566*Bm*mTimestep*thetamr1 - 6.2832*Power(mTimestep,2)*tormr1))/(-25.133*Jm \ +- 12.566*Bm*mTimestep); + mDelayedPart12.initialize(mNstep,delayParts1[2]); + delayParts2[1] = (1.*(1.*Dm*mTimestep*pp1 - 1.*Dm*mTimestep*pp2 - \ +6.2832*mTimestep*tormr1 + 12.5664*Jm*wmr1 - \ +6.2832*Bm*mTimestep*wmr1))/(-12.5664*Jm - 6.2832*Bm*mTimestep); + mDelayedPart21.initialize(mNstep,delayParts2[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[1][2] = mDelayedPart12.getIdx(1); + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(8); + Vec stateVark(8); + Vec deltaStateVar(8); + + //Read variables from nodes + //Port Pp1 + Tp1 = (*mpP_Tp1); + cp1 = (*mpP_cp1); + Zcp1 = (*mpP_Zcp1); + //Port Pp2 + Tp2 = (*mpP_Tp2); + cp2 = (*mpP_cp2); + Zcp2 = (*mpP_Zcp2); + //Port Pmr1 + cmr1 = (*mpP_cmr1); + Zcmr1 = (*mpP_Zcmr1); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Dm = (*mpDm); + Cim = (*mpCim); + Bm = (*mpBm); + Jm = (*mpJm); + R = (*mpR); + cv = (*mpcv); + + //LocalExpressions + cp = cv + R; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = thetamr1; + stateVark[1] = wmr1; + stateVark[2] = qmp2; + stateVark[3] = dEp1; + stateVark[4] = dEp2; + stateVark[5] = pp1; + stateVark[6] = pp2; + stateVark[7] = tormr1; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //Compressor + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =thetamr1 + \ +(Power(mTimestep,2)*(-0.039789*Dm*pp1 + 0.039789*Dm*pp2 + \ +0.25*tormr1))/(1.*Jm + 0.5*Bm*mTimestep) + delayedPart[1][1] + \ +delayedPart[1][2]; + systemEquations[1] =(mTimestep*(-0.079577*Dm*pp1 + 0.079577*Dm*pp2 \ ++ 0.5*tormr1))/(1.*Jm + 0.5*Bm*mTimestep) + wmr1 + delayedPart[2][1]; + systemEquations[2] =qmp2 + (pp2*(Cim*(-1.*pp1 + 1.*pp2 - 1.*pp1*Tp1 \ ++ 1.*pp2*Tp1) + Dm*(-0.15915494309189535 - \ +0.15915494309189535*Tp1)*wmr1)*onNegative(qmp2) + pp1*Tp2*(-1.*Cim*pp1 + \ +1.*Cim*pp2 - 0.15915494309189535*Dm*wmr1)*onPositive(qmp2))/(R*(1. + \ +Tp1)*Tp2); + systemEquations[3] =dEp1 + cp*qmp2*Tp1*onNegative(-qmp2) - \ +(Cim*Power(pp1 - pp2,2) - cp*qmp2*Tp2 + tormr1*wmr1)*onPositive(-qmp2); + systemEquations[4] =dEp2 - cp*qmp2*Tp2*onNegative(qmp2) - \ +(Cim*Power(pp1 - pp2,2) + cp*qmp2*Tp1 - tormr1*wmr1)*onPositive(qmp2); + systemEquations[5] =pp1 - lowLimit(cp1 + dEp1*Zcp1,0); + systemEquations[6] =pp2 - lowLimit(cp2 + dEp2*Zcp2,0); + systemEquations[7] =-cmr1 + tormr1 - wmr1*Zcmr1; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = 0; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = (-0.039789*Dm*Power(mTimestep,2))/(1.*Jm + \ +0.5*Bm*mTimestep); + jacobianMatrix[0][6] = (0.039789*Dm*Power(mTimestep,2))/(1.*Jm + \ +0.5*Bm*mTimestep); + jacobianMatrix[0][7] = (0.25*Power(mTimestep,2))/(1.*Jm + \ +0.5*Bm*mTimestep); + jacobianMatrix[1][0] = 0; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = (-0.079577*Dm*mTimestep)/(1.*Jm + \ +0.5*Bm*mTimestep); + jacobianMatrix[1][6] = (0.079577*Dm*mTimestep)/(1.*Jm + \ +0.5*Bm*mTimestep); + jacobianMatrix[1][7] = (0.5*mTimestep)/(1.*Jm + 0.5*Bm*mTimestep); + jacobianMatrix[2][0] = 0; + jacobianMatrix[2][1] = (Dm*pp2*(-0.15915494309189535 - \ +0.15915494309189535*Tp1)*onNegative(qmp2) - \ +0.15915494309189535*Dm*pp1*Tp2*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = (Cim*pp2*(-1. - 1.*Tp1)*onNegative(qmp2) - \ +1.*Cim*pp1*Tp2*onPositive(qmp2) + Tp2*(-1.*Cim*pp1 + 1.*Cim*pp2 - \ +0.15915494309189535*Dm*wmr1)*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); + jacobianMatrix[2][6] = (Cim*pp2*(1. + 1.*Tp1)*onNegative(qmp2) + \ +(Cim*(-1.*pp1 + 1.*pp2 - 1.*pp1*Tp1 + 1.*pp2*Tp1) + Dm*(-0.15915494309189535 \ +- 0.15915494309189535*Tp1)*wmr1)*onNegative(qmp2) + \ +1.*Cim*pp1*Tp2*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); + jacobianMatrix[2][7] = 0; + jacobianMatrix[3][0] = 0; + jacobianMatrix[3][1] = -(tormr1*onPositive(-qmp2)); + jacobianMatrix[3][2] = cp*Tp1*onNegative(-qmp2) + \ +cp*Tp2*onPositive(-qmp2); + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = -2*Cim*(pp1 - pp2)*onPositive(-qmp2); + jacobianMatrix[3][6] = 2*Cim*(pp1 - pp2)*onPositive(-qmp2); + jacobianMatrix[3][7] = -(wmr1*onPositive(-qmp2)); + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = tormr1*onPositive(qmp2); + jacobianMatrix[4][2] = -(cp*Tp2*onNegative(qmp2)) - \ +cp*Tp1*onPositive(qmp2); + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = -2*Cim*(pp1 - pp2)*onPositive(qmp2); + jacobianMatrix[4][6] = 2*Cim*(pp1 - pp2)*onPositive(qmp2); + jacobianMatrix[4][7] = wmr1*onPositive(qmp2); + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = -(Zcp1*dxLowLimit(cp1 + dEp1*Zcp1,0)); + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[5][7] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = 0; + jacobianMatrix[6][2] = 0; + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = -(Zcp2*dxLowLimit(cp2 + dEp2*Zcp2,0)); + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; + jacobianMatrix[6][7] = 0; + jacobianMatrix[7][0] = 0; + jacobianMatrix[7][1] = -Zcmr1; + jacobianMatrix[7][2] = 0; + jacobianMatrix[7][3] = 0; + jacobianMatrix[7][4] = 0; + jacobianMatrix[7][5] = 0; + jacobianMatrix[7][6] = 0; + jacobianMatrix[7][7] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + thetamr1=stateVark[0]; + wmr1=stateVark[1]; + qmp2=stateVark[2]; + dEp1=stateVark[3]; + dEp2=stateVark[4]; + pp1=stateVark[5]; + pp2=stateVark[6]; + tormr1=stateVark[7]; + //Expressions + qmp1 = -qmp2; + } + + //Calculate the delayed parts + delayParts1[1] = (1.*(2.*Dm*Power(mTimestep,2)*pp1 - \ +2.*Dm*Power(mTimestep,2)*pp2 + 50.265*Jm*thetamr1 - \ +12.566*Power(mTimestep,2)*tormr1))/(-25.133*Jm - 12.566*Bm*mTimestep); + delayParts1[2] = (1.*(1.*Dm*Power(mTimestep,2)*pp1 - \ +1.*Dm*Power(mTimestep,2)*pp2 - 25.133*Jm*thetamr1 + \ +12.566*Bm*mTimestep*thetamr1 - 6.2832*Power(mTimestep,2)*tormr1))/(-25.133*Jm \ +- 12.566*Bm*mTimestep); + delayParts2[1] = (1.*(1.*Dm*mTimestep*pp1 - 1.*Dm*mTimestep*pp2 - \ +6.2832*mTimestep*tormr1 + 12.5664*Jm*wmr1 - \ +6.2832*Bm*mTimestep*wmr1))/(-12.5664*Jm - 6.2832*Bm*mTimestep); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[1][2] = mDelayedPart12.getIdx(0); + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + + //Write new values to nodes + //Port Pp1 + (*mpP_pp1)=pp1; + (*mpP_qmp1)=qmp1; + (*mpP_dEp1)=dEp1; + //Port Pp2 + (*mpP_pp2)=pp2; + (*mpP_qmp2)=qmp2; + (*mpP_dEp2)=dEp2; + //Port Pmr1 + (*mpP_tormr1)=tormr1; + (*mpP_thetamr1)=thetamr1; + (*mpP_wmr1)=wmr1; + (*mpP_eqInertiamr1)=eqInertiamr1; + //outputVariables + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + mDelayedPart12.update(delayParts1[2]); + mDelayedPart21.update(delayParts2[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICCOMPRESSOR_HPP_INCLUDED diff --git a/devPneumatic/PneumaticCompressor.nb b/devPneumatic/PneumaticCompressor.nb new file mode 100644 index 0000000..ae90088 --- /dev/null +++ b/devPneumatic/PneumaticCompressor.nb @@ -0,0 +1,1399 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 66407, 1391] +NotebookOptionsPosition[ 63506, 1304] +NotebookOutlinePosition[ 63993, 1321] +CellTagsIndexPosition[ 63950, 1318] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell[TextData[StyleBox["PneumaticCompressor", + FontFamily->"System"]], "Section", + Evaluatable->False, + CellChangeTimes->{{3.52488616965088*^9, 3.5248861799318666`*^9}, { + 3.577956172776149*^9, 3.5779561799815607`*^9}, {3.6266093169340982`*^9, + 3.626609318892098*^9}, {3.626685959947085*^9, 3.6266859663050847`*^9}, { + 3.806387168621916*^9, + 3.8063871706051455`*^9}},ExpressionUUID->"1308ef69-e568-41a3-a3fc-\ +498403abf26a"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellChangeTimes->{{3.5772037650720577`*^9, 3.5772037650780582`*^9}, { + 3.611474457184202*^9, 3.611474523938877*^9}, {3.6114745588913717`*^9, + 3.61147456057154*^9}}, + ExpressionUUID -> "ca1c93fd-ea16-4b6c-99c5-53e5675f0309"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, 3.6031909973287797`*^9, + 3.6057717887213297`*^9, {3.605771829393656*^9, 3.605771830929744*^9}, + 3.6058530990363216`*^9, {3.621138851005574*^9, 3.621138863716845*^9}, { + 3.626686112671085*^9, 3.6266861209310846`*^9}}, + ExpressionUUID -> "edd8abfd-9d71-49a0-a89e-fb54b9239bd9"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8068133361958127`*^9, 3.806813439656876*^9, 3.806813554507677*^9, + 3.8068136653713636`*^9, 3.806845746874383*^9, 3.8068458354449177`*^9, + 3.8068458711540422`*^9, 3.8068460487935977`*^9, 3.8068517378209653`*^9, + 3.806851775819724*^9, 3.806851842703655*^9, 3.806852025858515*^9, + 3.8069952071724854`*^9, 3.8069953172959023`*^9, 3.806995546840147*^9, + 3.8069959459335155`*^9, 3.807005210692892*^9, 3.8070055020643673`*^9, + 3.8070055580965767`*^9, 3.807005594414116*^9, 3.807006219829053*^9, { + 3.807006423672806*^9, 3.8070064507049246`*^9}, 3.8070065851082973`*^9, + 3.807006693853648*^9, 3.807040280130583*^9}], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { + 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, + 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, + 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { + 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, + 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, + 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { + 3.521782314984375*^9, 3.52178231528125*^9}, 3.5248861854161005`*^9, + 3.5757721184092045`*^9, {3.577957012447175*^9, 3.5779570270120087`*^9}, { + 3.6266042212263517`*^9, 3.626604223226552*^9}, {3.6266859740020847`*^9, + 3.626685987184085*^9}, {3.806387174260753*^9, 3.806387176064335*^9}}, + ExpressionUUID -> "d26a9b6e-fc0a-4d5a-bbc2-1d5e36176fc0"], + +Cell[TextData[{ + "Pneumatic machine that can be used as compressor and motor\n\n", + Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0000F<0@000?@0003JoOoof_gooeH2001h0P00 +00000000003N2@00CP/00215CDH00040S0D004<000030000@`0006`000000000EPD00003003R0@00 +3`40000000000000000006IJ1`1E8P@0B@1^06/0L`1S0640L01U0200<00^03@0>00^0380801b03T0 +>00a03T0800X0440M@1W0200<@0d02000000000000h0000 +0000000Q0@0Z0000000000000000000000000000000U000030000080000j000030000>h0000k0000 +200001/0000@00005@0000X5000f000040000444000:1@00=P0001000011100090H003H0000@0000 +5@0002@6000m0000200003`000080000?`0001P0003JoOooo_goodH2001D0P009@0000`000000020 +:00000`0000100009@0000`000070020:00000`0000200009`0001P00002000000000?ooo`000000 +9@0000`0000200004`0000`000020000G`0003P000010000>0000000000h0000000000000@0Z0000 +000000000000000000000000000U000030000040000Z0000600006<300220P00YPT00<<8000U0000 +30000000080X000030000080000U0000300000L0080X000030000040001O0000>0000040000h0000 +000003P000000000024102X0000000000000000000000000000002D0000<00000@0003X0000<0000 +kP0003/0000800006`000100002F1P00>@/003H0000@0000UPH00?@8000l000020000400000H0000 +2?kooa[noomF0P00N08002D0000<00001`00P2P0000<00000@0005l0000h00000@0003P000000000 +>000000000008@40:P0000000000000000000000000000009@0000`000010000>P0000`0003^0000 +>`0000P0000K0000400009H6001b0P00=P000100002F1P005@0003`000080000@00001P00008o_oo +f_gooeH2000i0P009@0000`000070020:00000`000010000G`0003P000010000>0000000000h0000 +0000000R0@0Z0000000000000000000000000000000U000030000040000j0000300001X1000k0000 +200001/0000@0000U`H00882000f000040000;T5000>1000=P000100001j1`003`@003d000080000 +?00000P0001000006000073noomIo_ook`400=H1000U0000300000L0080X000030000040000>0000 +50000000000@00005000 +\>"], "Graphics", + GeneratedCell->False, + CellAutoOverwrite->False, + ImageSize->{162., 185.87368421052622`}, + ImageMargins->{{0, 0}, {0, 78}},ExpressionUUID-> + "2eb34d0e-807f-432e-899f-36c3ca6b886f"] +}], "Text", + CellChangeTimes->{{3.6327783431272955`*^9, 3.6327783663736253`*^9}, { + 3.6327784427429934`*^9, + 3.632778451593499*^9}},ExpressionUUID->"eccd1be5-4b9c-4c48-9ca7-\ +e9d9264dbef0"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"4ba019ec-4809-46a6-8a48-19551b26a519"], + +Cell["Piston with an inertia load", "Text",ExpressionUUID->"6812e3c5-27d1-4474-a9d3-f89122f15d69"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component equations", "Subsection",ExpressionUUID->"ce88ec4f-acb3-408d-bc9a-39e6fbaca182"], + +Cell["The name of the component is stored in ComponentName.", "Text",ExpressionUUID->"62960c8e-8d23-4fd5-a025-1f7f0de450e7"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Variables and parameters", "Subsection",ExpressionUUID->"2b34fd78-e769-4516-a1e5-294e6e867092"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{"Dm", ",", + RowBox[{"50.", " ", + SuperscriptBox["10", + RowBox[{"-", "6"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Cim", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Bm", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Jm", ",", ".1", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { + 3.577956201851812*^9, 3.577956272255839*^9}, 3.5779573492194376`*^9, { + 3.5779654805065203`*^9, 3.5779655140924416`*^9}, {3.626604316855914*^9, + 3.626604346530881*^9}, {3.626609330254098*^9, 3.626609351988098*^9}, { + 3.6266093905780983`*^9, 3.626609391313098*^9}, 3.626686533536085*^9, { + 3.6273763898356056`*^9, 3.6273763905156193`*^9}}, + ExpressionUUID -> "4e27cd3a-adbb-45be-bcb7-0dae9dcf40c7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"p1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"p2", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"MechanicRotQnode", "[", + RowBox[{ + "mr1", ",", "0.", ",", "0.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.4458567530827656`*^9, 3.445856805848053*^9}, { + 3.516293489375*^9, 3.516293499125*^9}, {3.535541977*^9, + 3.535541991625*^9}, {3.535542208609375*^9, 3.5355422090625*^9}, { + 3.535542381671875*^9, 3.535542392828125*^9}, {3.5684503752639694`*^9, + 3.568450377478191*^9}, {3.5684509832627635`*^9, 3.5684509970240593`*^9}, { + 3.5684511449390593`*^9, 3.568451145238059*^9}, {3.5721614930495863`*^9, + 3.572161494468728*^9}, {3.6266868208150845`*^9, 3.626686835350085*^9}, { + 3.6268133298169723`*^9, 3.6268133323251157`*^9}, 3.6289544881207824`*^9}, + ExpressionUUID -> "6289ef93-7996-4367-9445-21659443de62"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection",ExpressionUUID->"d2219d6f-92ba-49a4-8724-fc2b11383179"], + +Cell["The generated piston force", "Text",ExpressionUUID->"8afdc253-8b7d-4537-9c09-54725bd2ea53"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"torg", " ", "=", + RowBox[{ + FractionBox[ + RowBox[{" ", "Dm"}], + RowBox[{"2", " ", "pi"}]], + RowBox[{"(", " ", + RowBox[{"pp1", " ", "-", " ", "pp2"}], ")"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { + 3.577956496099642*^9, 3.5779565177508802`*^9}, 3.6266866274850845`*^9, + 3.6266866663150845`*^9}, + ExpressionUUID -> "411a14cc-248e-4906-bc5c-3c11824f7d61"], + +Cell["The vector of independent variables of the system are", "Text", + CellChangeTimes->{{3.524850810625*^9, + 3.52485083609375*^9}},ExpressionUUID->"b82dd3de-bac0-4544-bb53-\ +4ae32e4570af"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"T0", "=", "1."}], ";"}]], "Input", + CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, { + 3.627320756281715*^9, 3.6273207646627264`*^9}, 3.6327784734767513`*^9}, + ExpressionUUID -> "6f0fec0d-93f3-46cc-9916-87304a916940"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"rho1", " ", ":=", " ", + FractionBox["pp1", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"Tp1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"rho2", " ", ":=", + FractionBox["pp2", + RowBox[{"R", " ", + RowBox[{"(", "Tp2", ")"}]}]]}], ";"}]}], "Input", + CellChangeTimes->{{3.6266088064128294`*^9, 3.62660883322651*^9}, { + 3.626609101625098*^9, 3.626609103327098*^9}, {3.626609139173098*^9, + 3.6266091407110977`*^9}, 3.6267892234901233`*^9, {3.6268121815802965`*^9, + 3.6268122176613607`*^9}, {3.626813003248294*^9, 3.626813007331527*^9}, + 3.626854397562913*^9}, + ExpressionUUID -> "0f2188d3-5311-4c71-8d70-925cccb52e36"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"q2", "=", + RowBox[{"rho2", " ", "qmp2"}]}], ";"}]], "Input", + CellChangeTimes->{{3.6268543218415823`*^9, 3.6268543278769274`*^9}, + 3.6268543892024345`*^9, 3.6268544626146336`*^9}, + ExpressionUUID -> "a2f2d7c1-7013-4da4-a335-13634de8e727"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qmp1e", "=", + RowBox[{"-", "qmp2"}]}], ";"}]], "Input", + CellChangeTimes->{{3.6273206168895187`*^9, 3.6273206234015274`*^9}}, + ExpressionUUID -> "2c798387-3e4b-4115-a255-0b26e005af1f"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"pi", "=", + RowBox[{"N", "[", + RowBox[{"Pi", ",", "7"}], "]"}]}]], "Input", + CellChangeTimes->{{3.626789192284003*^9, 3.626789205688343*^9}}, + ExpressionUUID -> "40568a14-45c7-49de-8190-d01cbbb97f50"], + +Cell[BoxData["3.1415926535897932385`7."], "Output", + CellChangeTimes->{{3.6267892082005944`*^9, 3.6267892266004343`*^9}, + 3.626789303937167*^9, 3.6268117782282267`*^9, 3.6268122286019864`*^9, + 3.6268124176187973`*^9, {3.6268127639866085`*^9, 3.626812772161076*^9}, + 3.6268133467289395`*^9, 3.6268534696498394`*^9, 3.626853520211731*^9, + 3.6268537614425287`*^9, 3.626854079529722*^9, 3.6268547440737324`*^9, + 3.6268555160978894`*^9, 3.62723499605375*^9, 3.6272359239468226`*^9, + 3.627236608823995*^9, 3.6277328709299912`*^9, 3.62773294889275*^9, + 3.627733093765172*^9, 3.628703912210665*^9, 3.628705436733282*^9, + 3.628942012246914*^9, 3.628942055403041*^9, 3.6289545652268915`*^9, + 3.6289630190863895`*^9, 3.6309144977011323`*^9, 3.6309313517441964`*^9, + 3.6309980888823423`*^9, 3.8066516089920645`*^9, 3.806813115343773*^9, + 3.8068133366773148`*^9, 3.8068134400734453`*^9, 3.806813554965205*^9, + 3.8068136658313103`*^9, 3.8068457472459993`*^9, 3.8068458358345156`*^9, + 3.806845871530653*^9, 3.80684604916921*^9, 3.806851738211562*^9, + 3.8068517761953363`*^9, 3.8068518434988337`*^9, 3.8068520262391214`*^9, + 3.806995207329324*^9, 3.806995317455738*^9, 3.806995547008973*^9, + 3.8069959461383038`*^9, 3.8070052109086695`*^9, 3.8070055022891364`*^9, + 3.807005558303361*^9, 3.8070055946668544`*^9, 3.8070062200278473`*^9, { + 3.8070064238785934`*^9, 3.807006450951669*^9}, 3.8070065853530445`*^9, + 3.8070066940614333`*^9, 3.8070402803473587`*^9}, + ExpressionUUID -> "c9cc9d81-30d3-43a9-b1e5-4c6922cfc9ea"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.626789293137087*^9, + 3.626789300793853*^9}}, + ExpressionUUID -> "23949a30-5b70-43c5-9ab6-365db843d3e6"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"dEp1", "\[Equal]", + RowBox[{ + RowBox[{"qmp1e", " ", "cv", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", "Tp1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", "Tp2"}]}], ")"}]}], + "-", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], " ", + RowBox[{"(", "wm1", ")"}], " ", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}]}], ",", + RowBox[{"dEp2", "\[Equal]", + RowBox[{ + RowBox[{"qmp2", " ", "cv", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], " ", "Tp2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], " ", "Tp1"}]}], ")"}]}], + "-", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], " ", + RowBox[{"(", "wm1", ")"}], " ", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}]}]}]], "Text", + CellChangeTimes->{3.628703796715478*^9, 3.628703829775539*^9}, + ExpressionUUID -> "446608f0-07ba-4631-b08a-c80758c23a35"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", + RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", + RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qmp2", "\[Equal]", + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], + RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", + RowBox[{"Cim", "*", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp1", "\[Equal]", + RowBox[{ + RowBox[{"qmp1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp1"}], "+", + RowBox[{"R", " ", "Tp2"}]}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp2"}], "+", + RowBox[{"R", " ", "T1"}]}], ")"}]}]}], ")"}]}], "-", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], "tormr1", " ", "wmr1"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dEp2", "\[Equal]", + RowBox[{ + RowBox[{"qmp2", " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp2"}], "+", + RowBox[{"R", " ", "T1"}]}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp1"}], "+", + RowBox[{"R", " ", "Tp2"}]}], ")"}]}]}], ")"}]}], "-", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], "tormr1", " ", + "wmr1"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, + 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { + 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, + 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, + 3.5781111554625897`*^9}, {3.5781273950757246`*^9, + 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { + 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, + 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, + 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { + 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, + 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { + 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, + 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { + 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, + 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { + 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, + 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { + 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, + 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { + 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, + 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { + 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, + 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { + 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, + 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { + 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, + 3.6289420068459063`*^9}, {3.6289544963717937`*^9, + 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { + 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, + 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { + 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, + 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { + 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, + 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { + 3.8068456549972634`*^9, 3.8068457354002333`*^9}}, + ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", + RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", + RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qmp2", "\[Equal]", + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], + RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", + RowBox[{"Cim", "*", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp1", "\[Equal]", + RowBox[{"qmp1e", " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp1"}], "+", + RowBox[{"R", " ", "Tp2"}]}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp2"}], "+", + RowBox[{"R", " ", "Tp1"}]}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp2", "\[Equal]", + RowBox[{"qmp2", " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp2"}], "+", + RowBox[{"R", " ", "Tp1"}]}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"cv", " ", "Tp1"}], "+", + RowBox[{"R", " ", "Tp2"}]}], ")"}]}]}], ")"}]}]}]}], + "\[IndentingNewLine]", "\t", "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, + 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { + 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, + 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, + 3.5781111554625897`*^9}, {3.5781273950757246`*^9, + 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { + 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, + 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, + 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { + 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, + 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { + 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, + 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { + 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, + 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { + 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, + 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { + 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, + 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { + 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, + 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { + 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, + 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { + 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, + 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { + 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, + 3.6289420068459063`*^9}, {3.6289544963717937`*^9, + 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { + 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, + 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { + 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, + 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { + 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, + 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { + 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, + 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, + 3.8068460446159124`*^9}, + ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", + RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", + RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qmp2", "\[Equal]", + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], + RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", + RowBox[{"Cim", "*", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}], + RowBox[{"ifPositive", "[", + RowBox[{"qmp2", ",", "rho1", ",", "rho2"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp1", "\[Equal]", " ", + RowBox[{"ifPositive", "[", + RowBox[{"qmp1e", ",", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmp1e", " ", "cp", " ", "Tp2"}], "+", + RowBox[{"Cim", "*", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "+", + RowBox[{"tormr1", " ", "wmr1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qmp1e", " ", "cp", " ", "Tp1"}]}], "\[IndentingNewLine]", + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dEp2", "\[Equal]", " ", + RowBox[{"ifPositive", "[", + RowBox[{"qmp2", ",", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmp2", " ", "cp", " ", "Tp1"}], "+", + RowBox[{"Cim", "*", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "-", + RowBox[{"tormr1", " ", "wmr1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qmp2", " ", "cp", " ", "Tp2"}]}], "\[IndentingNewLine]", + "]"}]}]}], "\[IndentingNewLine]", "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, + 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { + 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, + 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, + 3.5781111554625897`*^9}, {3.5781273950757246`*^9, + 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { + 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, + 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, + 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { + 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, + 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { + 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, + 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { + 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, + 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { + 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, + 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { + 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, + 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { + 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, + 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { + 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, + 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { + 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, + 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { + 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, + 3.6289420068459063`*^9}, {3.6289544963717937`*^9, + 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { + 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, + 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { + 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, + 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { + 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, + 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { + 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, + 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, + 3.8068460446159124`*^9, {3.80685199024829*^9, 3.806852020628915*^9}, { + 3.806994913245649*^9, 3.8069949352449574`*^9}, 3.806994993531843*^9, { + 3.8069951650599227`*^9, 3.80699520287492*^9}, {3.806995493188485*^9, + 3.8069955362081137`*^9}, {3.806995815808729*^9, 3.80699592796305*^9}, { + 3.8070062522606015`*^9, 3.8070063031321316`*^9}, {3.807006362095318*^9, + 3.807006412144695*^9}, 3.807006447424307*^9, {3.807006661209318*^9, + 3.807006686384355*^9}, 3.8070154150471225`*^9}, + ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", + RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", + RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Jm", " ", + RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", + RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", + RowBox[{"(", + RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qmp2", "\[Equal]", + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + FractionBox["Dm", + RowBox[{"2", " ", "pi"}]], + RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", + RowBox[{"Cim", "*", + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp1", "\[Equal]", " ", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{"qmp1e", " ", "cp", " ", "Tp1"}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"qmp1e", " ", "cp", " ", "Tp2"}], "+", + RowBox[{"Cim", "*", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "+", + RowBox[{"tormr1", " ", "wmr1"}]}], ")"}]}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEp2", "\[Equal]", " ", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qmp2", "]"}], + RowBox[{"(", + RowBox[{"qmp2", " ", "cp", " ", "Tp2"}], ")"}]}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qmp2", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"qmp2", " ", "cp", " ", "Tp1"}], "+", + RowBox[{"Cim", "*", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "-", + RowBox[{"tormr1", " ", "wmr1"}]}], ")"}]}]}]}]}], + "\[IndentingNewLine]", "\t", "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, + 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { + 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, + 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, + 3.5781111554625897`*^9}, {3.5781273950757246`*^9, + 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { + 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, + 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, + 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { + 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, + 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { + 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, + 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { + 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, + 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { + 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, + 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { + 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, + 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { + 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, + 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { + 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, + 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { + 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, + 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { + 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, + 3.6289420068459063`*^9}, {3.6289544963717937`*^9, + 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { + 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, + 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { + 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, + 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { + 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, + 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { + 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, + 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, + 3.8068460446159124`*^9, {3.80685199024829*^9, 3.806852020628915*^9}, { + 3.806994913245649*^9, 3.8069949352449574`*^9}, 3.806994993531843*^9, { + 3.8069951650599227`*^9, 3.80699520287492*^9}, {3.806995493188485*^9, + 3.8069955362081137`*^9}, 3.8070066355612593`*^9}, + ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], + +Cell["The boundarys\[AliasDelimiter]", "Text", + CellChangeTimes->{3.807040218503147*^9}, + ExpressionUUID -> "e4ffa3ce-4a38-43f2-9641-ae4db6d2d8ed"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"pp1", " ", "==", " ", + RowBox[{"(", + RowBox[{"cp1", " ", "+", " ", + RowBox[{"Zcp1", " ", "dEp1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"pp2", " ", "==", + RowBox[{"(", + RowBox[{"cp2", " ", "+", " ", + RowBox[{"Zcp2", " ", "dEp2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"tormr1", "\[Equal]", + RowBox[{"cmr1", "+", + RowBox[{"wmr1", " ", "Zcmr1"}]}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, {3.626609061441098*^9, + 3.626609061923098*^9}, {3.6289545114458156`*^9, 3.6289545165178227`*^9}}, + ExpressionUUID -> "14417b4d-b623-43b0-8033-92958ae06a33"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", "=", " ", + RowBox[{"{", + RowBox[{ + "thetamr1", ",", "wmr1", ",", "qmp2", ",", "dEp1", ",", "dEp2", ",", + "pp1", ",", "pp2", ",", "tormr1"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { + 3.577956431479946*^9, 3.5779564393723974`*^9}, {3.577956859515428*^9, + 3.5779568640126853`*^9}, {3.5779577901476574`*^9, 3.577957792222776*^9}, + 3.5779578730333977`*^9, 3.5781111509651403`*^9, {3.626609178128098*^9, + 3.626609189264098*^9}, {3.6266868991754274`*^9, 3.6266869012046304`*^9}, { + 3.6289545205788283`*^9, 3.628954527860839*^9}}, + ExpressionUUID -> "1371c583-1880-478e-b95c-70c4bf5830c2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"variableLowLimits", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"pp1", ",", "0"}], "}"}], ",", + RowBox[{"{", + RowBox[{"pp2", ",", "0"}], "}"}]}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.578505814681842*^9, 3.5785058445435495`*^9}, + 3.578509359037567*^9, 3.626686631086085*^9, 3.6266866678460846`*^9}, + ExpressionUUID -> "6a2c34eb-6a48-44af-87c7-15f91ee89ec0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qmp1", "\[Equal]", + RowBox[{"-", "qmp2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.577956890459198*^9, 3.5779569714248285`*^9}, { + 3.578111147599804*^9, 3.578111149042948*^9}, {3.6266044198372107`*^9, + 3.626604453688596*^9}, {3.626604488745101*^9, 3.626604502243451*^9}, + 3.6266045457538013`*^9, 3.626604589207146*^9, {3.6266046247527003`*^9, + 3.6266046598352084`*^9}, {3.626608952152402*^9, 3.626608954681655*^9}, + 3.6266865798930845`*^9, {3.626686949473457*^9, 3.626686951085618*^9}, { + 3.6268131265583467`*^9, 3.6268131397441006`*^9}}, + ExpressionUUID -> "47bdc259-c96b-4bd5-95b0-148e45260b9d"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "292681d5-7821-4cd8-b4c6-21654107b382"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,182, + 16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402806000986`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"2\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,183, + 16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402807089853`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,184, + 16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402807469473`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ +\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,547,185,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.807040280779913*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticCompressor\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticCompressor\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pp1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pp2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pmr1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"5\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticCompressor\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"dis\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pp1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pp2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Pmr1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,547,186,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.80704028081188*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,547,187,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.807040280859831*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 547,188,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.807040280891797*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,547,189,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402809227653`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,547,190,16378091246204845133, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402809537325`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,547,191,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.807040280986699*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,547,192,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402810166683`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 547,193,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.8070402810486355`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,547,194,16378091246204845133,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, + 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, + 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, + 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, + 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, + 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, + 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, + 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, + 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, + 3.807040281079603*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData["file"], "Input", + CellChangeTimes->{{3.8068135694878488`*^9, 3.806813570596073*^9}}], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticCompressor.hpp\"\>"], "Output", + CellChangeTimes->{ + 3.8068135716840105`*^9, 3.8068136667248936`*^9, 3.806845748304906*^9, + 3.806845836648675*^9, 3.806845872392763*^9, 3.8068460500083437`*^9, + 3.806851739213527*^9, 3.806851777167333*^9, 3.806851844514785*^9, + 3.806852027097235*^9, 3.8069952083882313`*^9, 3.8069953180081673`*^9, + 3.806995547712247*^9, 3.8069959467506723`*^9, 3.807005211680873*^9, + 3.807005502967436*^9, 3.8070055589646797`*^9, 3.8070055955689244`*^9, + 3.80700622082902*^9, {3.8070064252841425`*^9, 3.807006451600001*^9}, + 3.807006586331036*^9, 3.807006694847623*^9, 3.807040281180499*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1008, 664}, +WindowMargins->{{Automatic, -1831}, {85, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "2915a40f-bb32-48b0-8b93-922216478383" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 430, 8, 63, "Section", + Evaluatable->False], +Cell[1012, 32, 307, 5, 30, "Input"], +Cell[1322, 39, 778, 15, 30, "Input"], +Cell[CellGroupData[{ +Cell[2125, 58, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2483, 66, 750, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[3248, 83, 767, 11, 30, "Output"], +Cell[4018, 96, 1778, 36, 164, "Input"], +Cell[5799, 134, 2481, 38, 235, "Text"], +Cell[CellGroupData[{ +Cell[8305, 176, 98, 0, 49, "Subsection"], +Cell[8406, 178, 98, 0, 30, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[8541, 183, 96, 0, 49, "Subsection"], +Cell[8640, 185, 125, 0, 30, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[8802, 190, 101, 0, 49, "Subsection"], +Cell[8906, 192, 1715, 37, 176, "Input"], +Cell[10624, 231, 1239, 23, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[11900, 259, 100, 0, 49, "Subsection"], +Cell[12003, 261, 97, 0, 30, "Text"], +Cell[12103, 263, 464, 12, 52, "Input"], +Cell[12570, 277, 192, 3, 30, "Text"], +Cell[12765, 282, 270, 5, 30, "Input"], +Cell[13038, 289, 720, 17, 94, "Input"], +Cell[13761, 308, 279, 6, 30, "Input"], +Cell[14043, 316, 222, 5, 30, "Input"], +Cell[CellGroupData[{ +Cell[14290, 325, 228, 5, 30, "Input"], +Cell[14521, 332, 1557, 21, 30, "Output"] +}, Open ]], +Cell[16093, 356, 672, 14, 69, "Input"], +Cell[16768, 372, 1219, 37, 91, "Text"], +Cell[17990, 411, 5438, 116, 188, "Input"], +Cell[23431, 529, 5303, 112, 188, "Input"], +Cell[28737, 643, 5565, 104, 320, "Input"], +Cell[34305, 749, 5621, 115, 196, "Input"], +Cell[39929, 866, 147, 2, 30, "Text"], +Cell[40079, 870, 935, 22, 107, "Input"], +Cell[41017, 894, 709, 13, 30, "Input"], +Cell[41729, 909, 441, 11, 30, "Input"], +Cell[42173, 922, 759, 13, 69, "Input"], +Cell[CellGroupData[{ +Cell[42957, 939, 122, 2, 30, "Input"], +Cell[43082, 943, 1052, 18, 21, "Message"], +Cell[44137, 963, 1052, 18, 21, "Message"], +Cell[45192, 983, 1052, 18, 21, "Message"], +Cell[46247, 1003, 1006, 17, 21, "Message"], +Cell[47256, 1022, 7230, 106, 148, "Message"], +Cell[54489, 1130, 938, 16, 21, "Message"], +Cell[55430, 1148, 1080, 18, 21, "Message"], +Cell[56513, 1168, 940, 16, 21, "Message"], +Cell[57456, 1186, 1082, 19, 21, "Message"], +Cell[58541, 1207, 938, 16, 21, "Message"], +Cell[59482, 1225, 1012, 17, 21, "Message"], +Cell[60497, 1244, 1082, 18, 21, "Message"], +Cell[61582, 1264, 1013, 17, 21, "Message"] +}, Open ]], +Cell[CellGroupData[{ +Cell[62632, 1286, 98, 1, 30, "Input"], +Cell[62733, 1289, 733, 10, 30, "Output"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticCompressor.svg b/devPneumatic/PneumaticCompressor.svg new file mode 100644 index 0000000..d3c4773 --- /dev/null +++ b/devPneumatic/PneumaticCompressor.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticCompressor.xml b/devPneumatic/PneumaticCompressor.xml new file mode 100644 index 0000000..976cbb8 --- /dev/null +++ b/devPneumatic/PneumaticCompressor.xml @@ -0,0 +1,18 @@ + + + + + + + + + A pneumatic Compressor that can be used as compressor and motor. CDF-player for Mathematica documents can be found on http://www.wolfram.com/cdf-player/ + PneumaticCompressor.nb + + + + + + + + diff --git a/devPneumatic/PneumaticConnector.nb b/devPneumatic/PneumaticConnector.nb new file mode 100644 index 0000000..ec43677 --- /dev/null +++ b/devPneumatic/PneumaticConnector.nb @@ -0,0 +1,737 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 33247, 729] +NotebookOptionsPosition[ 30825, 654] +NotebookOutlinePosition[ 31479, 676] +CellTagsIndexPosition[ 31436, 673] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Connector", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { + 3.8056149554872293`*^9, 3.8056149578457985`*^9}, {3.806652398001198*^9, + 3.80665239950165*^9}}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, 3.8050176650180016`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, 3.805022093004465*^9, {3.8056149610634813`*^9, + 3.8056149685627427`*^9}, 3.8056280124531794`*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "48", ",", + "12.7417257`8.857803207916582"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, + 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, + 3.8051078642885723`*^9, 3.8056150680541162`*^9, 3.8056237588861*^9, + 3.805624092803662*^9}, + ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], + +Cell[BoxData[ + RowBox[{"eps", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, + 3.805022093004465*^9}, + ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], + +Cell[TextData[{ + "This is a simple fixed pneumatic restrictor with two ports. \n\n", + Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0001OT0@0006`00016000000000103000<0@00 +oOoooogooolU3P00Q@@00215CDH00040i1L006l0000300000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001FA000RDP0000000000/08/>P0084<00000 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001H0`004P40000000000000F0<00181000T000090000;02;3X0000000000;02;3X00213 +00000080000R000030000?oooom60000l0H00>@60015CDH[:d0000`0000000007T0600`000000000 +8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P0084<00000 +8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020;4Q90000080/B4V0;X0000W000008@`=/@000000000:A6jd:agR53nd[[@[7N8D=oC^]2JnDQ@gm>jd:gkB53 +Odk[@^k0;4=oC^]2>/T/@o]:jd;dcba3Y4K[@_C?;4=EbKi2m00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 +0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000VYTI?`<000000810 +0000008@`=/000000000o`Q00`00002`000024<3K000009P000000000VYTI?`<0000008100000008@`=/000000000o`Q01`=H0000 +C000008@`=/7000002000;lBbT9DI2U3_a;:@UAT:D?`RLi2`U4X@e/ceD8mBBQ3aMcK@[I0:4?UTN12 +E6@Y@nFAh49DI2U300<30`<30`4E@0L0400000@000060000:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000000Q020@H00003000008@`=/00000 +0`0043A0200<00000000024000080000HP0000`000010000C00006@0003moooooOoooeP0000]0000 +oOoooogooomL0000<@0002T0ZP00000000000000P3l0000000000000P3l000000000000000000000 +000000000000000000000280000<0000ooooodH0000L0000400004E=AR/2@00030000000000>0000 +50000000000@0000500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000 +=000008000020000Bfhe_h1/=Klgnje2PoT_@P<0001;KSFoP6`e_eZ@[4:0K3FoBfhe_m4S;D8Q0000 +20000680000<00000@000240000800007P0001P0002P000000000;X2000=0@00700000P0000Q0000 +2000024000080000L`0000`000000000700000P0000U000030000000080U0000300000L0080U0000 +300000h0080I000030000?ooo`0H000030000000000B000030000080000C000030000040000D0000 +300000d0000E000030000040000F000030000000000=00004000000000000000>P0000`0000:0000 +6`00010000000000000002<0000P0000k=G7@00000000000XGS7@09]94?EG8e0900002@0003/eLM0 +00000000002QN5?042P/7NA[X_ko_ooo`CJC`2[KK5g00000=9]/GL@9=P0000`0000400008@0000P0000N0000600000000000000000000000000T0000 +90000000P3d0000000000000P3d0000000000080001O0000>0000080000h0000000003P000000000 +02810200000000000000000000000000000002D0000<00000P0002D0000<00001@00P3/000080000 +6`000100001;1@00200005P0000X000000000000003oooooooooo`<0001;1@P0C0D:04`5300f0000 +400004`5002K0P00F00002P00000000000000?oooooooooo0`0004`5W@9;1Ih2B`FN0SH0000@0000 +2@0009h2001H0000:000000000000000ooooooooool300002@2N0PP0W@8809/2=P00010000080000 +300005P0000X000000000000003oooooooooo`<0000800X02@0800T0200m0000200003`000080000 +@00001P00000000000000?oooooooooo9@0000`0000700209@0000`000000020900002@000000811 +000000000000081100000000000200008P0000`0003ooooo:00000`000020000>P0000`0000:0000 +AP0001@000080000AdA9@`<0000R000030000?oooolR000030000?oooolU0000300000d0080X0000 +30000040000R000030000?oooolR000030000?kooom60000o0400?010015CDH[;40002@0000H0000 +0020?`00000000000020?`0008000020:T0002@0000H00001NS5@000000000007j[3@19R94P0000000000/08/>P0084<00000940000`000000000:d0000`000000000 +7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P000080005I4 +0029@cA00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213 +000002501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213000002Y0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 +8D0700`000000000:T0002@0000H00000020?`00000000000020?nBL=DBXORa3140000`000000000 +8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000001H0`00 +4P40000000000000F0<00181000T000090000000P3l0000000000000P3oTW3E4Z7h/@`80000<0000 +40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 +000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 +000000000030ib]100010000001=0000000002SQC`0A0000100009SWC`1HhTl0@:2`Me6]Ro_noooo +`>5?05?0060001_=CAe0000000000000000 +00000:PEmhj9?0>`g9gKPDoX9;1T410T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 +4P0000`000010000600000`000000002E00005@0003F0P00?P000103003;00000P00000000000000 +0000000000010000C00000000000000000000?ooooooooooD0000380H>0k00009@0000`0000>0020 +:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?i0MS4:XORa3140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001H0`004P40000000000000 +F0<00181000T000090000000P3l0000000000000P3n@7Ha2Z7h/@`80000<00004000000000000000 +2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 +K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 +00010000001=0000000005@0000A0000SChQm@00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 +JWL4o`T000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@000160000?P000800003;00000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340Z/Hk00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +X0000000002i0P0030400:00000000006P8000d1000Y0:X0000000000000080o000000000000080o +0000000000000000000000000000000000000000000R000030000?oooom60000700001000015CDH[ +0T0000`0000000003P0001@000000000400001@0 +\>"], "Graphics", + GeneratedCell->False, + CellAutoOverwrite->False, + ImageSize->{234., 75.15328467153284}, + ImageMargins->{{0, 0}, {0, 80}}] +}], "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050228848734484`*^9, 3.8050229142901974`*^9}, {3.8056281158824916`*^9, + 3.8056281567183695`*^9}}, + ExpressionUUID -> "f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "14"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, + 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { + 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, + 3.805107447216238*^9}, {3.8056237387208996`*^9, 3.8056237519422646`*^9}, { + 3.8056240840007424`*^9, 3.8056240846780434`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, + 3.805022852714327*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The input signal is limited between 0 and 1.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, + 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Cfe", "=", "Cf"}], " ", ";"}]], "Input", + CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { + 3.8051070382200217`*^9, 3.805107097045391*^9}, 3.8056150177300262`*^9}, + ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", " ", "=", " ", + RowBox[{"-", "qm2"}]}], ";"}]], "Input", + CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, + 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, + 3.8048706405459685`*^9}, + ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], + +Cell[BoxData[ + RowBox[{"NgPos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, + ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], + +Cell[BoxData[ + RowBox[{"NgNeg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, + ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], + ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, + 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { + 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, + 3.8051078460746803`*^9}, {3.8056150485602245`*^9, 3.8056150501685653`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell["Expressions that are evaluated before the system equations", "Text", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { + 3.80502217704597*^9, + 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { + 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, + 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { + 3.805022272779731*^9, + 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ +3c55a8691acc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmP", "==", + RowBox[{"Cfe", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qmN", "==", + RowBox[{"Cfe", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm2", "==", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], + ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, + 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { + 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, + 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { + 3.805107119679675*^9, 3.805107124187194*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.805017881102742*^9, + 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, + 3.8048706590878425`*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", + "p2"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, + 3.804870662382444*^9}}, + ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qm1", "==", + RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9}, + ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +}, +WindowSize->{834, 654}, +WindowMargins->{{Automatic, 278}, {-107, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 335, 5, 70, "Section"], +Cell[917, 29, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1275, 37, 533, 12, 50, "Input"], +Cell[1811, 51, 814, 15, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2650, 70, 1617, 35, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4270, 107, 1393, 22, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5666, 131, 255, 5, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[5958, 141, 98, 0, 41, "Subsection"], +Cell[6059, 143, 8815, 115, 137, "Text"], +Cell[14877, 260, 2139, 46, 196, "Input"], +Cell[17019, 308, 721, 17, 88, "Input"], +Cell[17743, 327, 935, 18, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18715, 350, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[18863, 354, 236, 4, 30, "Text"], +Cell[19102, 360, 278, 5, 30, "Input"], +Cell[19383, 367, 214, 5, 30, "Text"], +Cell[19600, 374, 315, 7, 30, "Input"], +Cell[19918, 383, 1034, 23, 74, "Input"], +Cell[20955, 408, 981, 22, 74, "Input"], +Cell[21939, 432, 1617, 41, 94, "Input"], +Cell[23559, 475, 252, 4, 30, "Text"], +Cell[23814, 481, 793, 15, 69, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[24644, 501, 224, 4, 49, "Subsection"], +Cell[24871, 507, 3111, 64, 229, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[28019, 576, 160, 3, 49, "Subsection"], +Cell[28182, 581, 816, 19, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[29035, 605, 174, 3, 49, "Subsection"], +Cell[29212, 610, 592, 12, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[29841, 627, 88, 0, 49, "Subsection"], +Cell[29932, 629, 146, 2, 30, "Text"], +Cell[30081, 633, 333, 7, 69, "Input"], +Cell[30417, 642, 255, 4, 30, "Input"], +Cell[30675, 648, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticExhaust.hpp b/devPneumatic/PneumaticExhaust.hpp new file mode 100644 index 0000000..2201578 --- /dev/null +++ b/devPneumatic/PneumaticExhaust.hpp @@ -0,0 +1,159 @@ +#ifndef PNEUMATICEXHAUST_HPP_INCLUDED +#define PNEUMATICEXHAUST_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticExhaust.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 28 Jul 2020 19:02:51 +//! @brief Exhaust to ambient air +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticExhaust.nb*/ + +using namespace hopsan; + +class PneumaticExhaust : public ComponentC +{ +private: + Port *mpP1; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; +//==This code has been autogenerated using Compgen== + //inputVariables + double p0; + double T0; + //outputVariables + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpp0; + double *mpT0; + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticExhaust(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("p0","Pressure","Pa",100000.,&mpp0); + addInputVariable("T0","Input temperature","K",293.,&mpT0); + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + + //Read inputVariables from nodes + p0 = (*mpp0); + T0 = (*mpT0); + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + dE1 = (*mpP_dE1); + + //Read inputVariables from nodes + p0 = (*mpp0); + T0 = (*mpT0); + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + c1 = p0; + T1 = T0; + Zc1 = 0.; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port P1 + (*mpP_T1)=T1; + (*mpP_c1)=c1; + (*mpP_Zc1)=Zc1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICEXHAUST_HPP_INCLUDED diff --git a/devPneumatic/PneumaticExhaust.nb b/devPneumatic/PneumaticExhaust.nb new file mode 100644 index 0000000..41097aa --- /dev/null +++ b/devPneumatic/PneumaticExhaust.nb @@ -0,0 +1,596 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 30454, 588] +NotebookOptionsPosition[ 28697, 533] +NotebookOutlinePosition[ 29350, 555] +CellTagsIndexPosition[ 29307, 552] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Exhaust", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { + 3.8049422173232346`*^9, 3.804942220674777*^9}}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.804242834707038*^9, 3.804242875430032*^9, + 3.804406806214493*^9, 3.8044068860835514`*^9, 3.8048706919958982`*^9, + 3.8048708156023965`*^9, 3.8049204063398457`*^9, 3.8049423161163273`*^9, + 3.8049430084277253`*^9, {3.8049430428502183`*^9, 3.804943086458237*^9}, + 3.804944571220646*^9}, + ExpressionUUID -> "d143c3c0-252e-4229-a3ec-61cbc0e88cef"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8048708156393595`*^9, 3.8049204063837996`*^9, 3.8049423161672754`*^9, + 3.804943008485664*^9, {3.804943042898168*^9, 3.8049430865061865`*^9}, + 3.8049445712765884`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.8049421893950415`*^9, 3.804942209842949*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "28", ",", "19", ",", "2", ",", + "51.2875773`9.462587034594664"}], "}"}]], "Output", + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.8049423162162237`*^9, + 3.8049430085356135`*^9, {3.804943042947118*^9, 3.8049430865671225`*^9}, + 3.804944571328534*^9}, + ExpressionUUID -> "aa6f4f45-bf37-4268-85ba-d1117d8dded6"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"p0", "=."}], ";", + RowBox[{"T0", "=."}], ";", + RowBox[{"Zc1", "=."}], ";"}]], "Input", + CellChangeTimes->{{3.8049422460935555`*^9, 3.8049422609472346`*^9}, { + 3.80494299434525*^9, 3.804942997204302*^9}, 3.8049430837570224`*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "293.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.804942099979274*^9, 3.8049421534511175`*^9}, {3.804942236025941*^9, + 3.8049422391377306`*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PneumaticCnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.804942088899703*^9, + 3.8049420899236465`*^9}, 3.804944559280962*^9}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection", + ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"c1", "\[Equal]", "p0"}], ",", "\[IndentingNewLine]", + RowBox[{"T1", "\[Equal]", "T0"}], ",", "\[IndentingNewLine]", + RowBox[{"Zc1", "\[Equal]", "0."}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.804870613309064*^9, 3.8048706633414555`*^9, {3.804941709304257*^9, + 3.8049417911847982`*^9}, {3.804941848960205*^9, 3.804941922326524*^9}, { + 3.8049419636129365`*^9, 3.8049419756045685`*^9}, {3.8049420136283455`*^9, + 3.804942023779874*^9}, {3.804942272410411*^9, 3.8049422751535807`*^9}, { + 3.804943034998318*^9, 3.804943062045418*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,227, + 112,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445717211304`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,113,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445717800694`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,227,114,16364522693655586838, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445718070416`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,115,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571834014*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,227,116, + 16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571864981*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,117,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445718939514`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,227,118,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571919925*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,227,119, + 16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445719488955`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,227,120,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445719758673`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1152, 737}, +WindowMargins->{{282, Automatic}, {43, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 282, 4, 70, "Section"], +Cell[864, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[1244, 38, 484, 11, 30, "Input"], +Cell[1731, 51, 981, 14, 30, "Output"] +}, Open ]], +Cell[2727, 68, 766, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3496, 84, 332, 5, 30, "Output"], +Cell[CellGroupData[{ +Cell[3853, 93, 1438, 31, 183, "Input"], +Cell[5294, 126, 1273, 20, 30, "Output"] +}, Open ]], +Cell[6582, 149, 268, 6, 30, "Input"], +Cell[6853, 157, 857, 19, 88, "Input"], +Cell[7713, 178, 793, 14, 69, "Input"], +Cell[CellGroupData[{ +Cell[8531, 196, 92, 1, 49, "Subsection"], +Cell[8626, 199, 146, 2, 30, "Text"], +Cell[8775, 203, 777, 15, 107, "Input"], +Cell[CellGroupData[{ +Cell[9577, 222, 122, 2, 30, "Input"], +Cell[9702, 226, 7488, 107, 130, "Message"], +Cell[17193, 335, 1352, 21, 21, "Message"], +Cell[18548, 358, 1494, 24, 21, "Message"], +Cell[20045, 384, 1350, 21, 21, "Message"], +Cell[21398, 407, 1522, 24, 21, "Message"], +Cell[22923, 433, 1352, 21, 21, "Message"], +Cell[24278, 456, 1422, 22, 21, "Message"], +Cell[25703, 480, 1524, 24, 21, "Message"], +Cell[27230, 506, 1427, 22, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticExhaust.svg b/devPneumatic/PneumaticExhaust.svg new file mode 100644 index 0000000..8b4d112 --- /dev/null +++ b/devPneumatic/PneumaticExhaust.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticExhaust.xml b/devPneumatic/PneumaticExhaust.xml new file mode 100644 index 0000000..54cf625 --- /dev/null +++ b/devPneumatic/PneumaticExhaust.xml @@ -0,0 +1,18 @@ + + + + + + + + + PneumaticExhaust + PneumaticExhaust.nb + PneumaticExhaust.pdf + + + + + + + diff --git "a/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-08-17).dll" "b/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-08-17).dll" new file mode 100644 index 0000000000000000000000000000000000000000..2b7ba9b697a9aa457068becd41999d33a34b09dd GIT binary patch literal 1021076 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 rTv;o(-ga{%>q7OA+VpoX)Xs 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%0Ac7qgs|6?X6~D);6sFDkCBs!n9fkeyXl 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 TPcf2?yosFus8)*L@DW){P literal 0 HcmV?d00001 diff --git "a/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-09-04).dll" "b/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-09-04).dll" new file mode 100644 index 0000000000000000000000000000000000000000..05a53d8e38296e9543d6809ff5408070ffcde666 GIT binary patch literal 1036788 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

sNj+|pf>Z{BFOMk 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

w&$@v(0p^21?_seiE;> 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־=Z#6 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 Pl}=UzU1c%rWyAj;WJM9( literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticPCIvalve32.hpp b/devPneumatic/PneumaticPCIvalve32.hpp new file mode 100644 index 0000000..a359d98 --- /dev/null +++ b/devPneumatic/PneumaticPCIvalve32.hpp @@ -0,0 +1,809 @@ +#ifndef PNEUMATICPCIVALVE32_HPP_INCLUDED +#define PNEUMATICPCIVALVE32_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPCIvalve32.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 13 Aug 2020 18:20:24 +//! @brief Pneumatic pressure controlled inverted 32-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticPCIvalve32.nb*/ + +using namespace hopsan; + +class PneumaticPCIvalve32 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double pso; + double psmax; + double tau; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpPS; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[12]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port PS variable + double pS; + double qmS; + double TS; + double dES; + double cS; + double ZcS; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double xvref; + double xv; + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port PS pointer + double *mpP_pS; + double *mpP_qmS; + double *mpP_TS; + double *mpP_dES; + double *mpP_cS; + double *mpP_ZcS; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mppso; + double *mppsmax; + double *mptau; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpxvref; + double *mpxv; + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPCIvalve32(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(12,12); + systemEquations.create(12); + delayedPart.create(13,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpPS=addPowerPort("PS","NodePneumatic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ +0.528,&mpBf); + addInputVariable("Cf", "C, ISO flow coefficient", "", \ +1.e-13,&mpCf); + addInputVariable("x0", "Relative overlap", "", 0.1,&mpx0); + addInputVariable("pso", "Opening pressure", "Pa", \ +800000.,&mppso); + addInputVariable("psmax", "Fully open pressure", "Pa", \ +900000.,&mppsmax); + addInputVariable("tau", "valve time constant", "s", 0.01,&mptau); + addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); + addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); + //Add outputVariables to the component + addOutputVariable("xvref","Ref normalized spool \ +position","",0.,&mpxvref); + addOutputVariable("xv","Normalized spool position","",0.,&mpxv); + addOutputVariable("qm12Pos","Internal \ +variable","kg/s",0.,&mpqm12Pos); + addOutputVariable("qm12Neg","Internal \ +variable","kg/s",0.,&mpqm12Neg); + addOutputVariable("qm32Pos","Internal \ +variable","kg/s",0.,&mpqm32Pos); + addOutputVariable("qm32Neg","Internal \ +variable","kg/s",0.,&mpqm32Neg); + addOutputVariable("Ng32e","Internal variable","",0.,&mpNg32e); + addOutputVariable("Ng12e","Internal variable","",0.,&mpNg12e); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,12); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + //Port P3 + mpP_p3=getSafeNodeDataPtr(mpP3, NodePneumatic::Pressure); + mpP_qm3=getSafeNodeDataPtr(mpP3, NodePneumatic::MassFlow); + mpP_T3=getSafeNodeDataPtr(mpP3, NodePneumatic::Temperature); + mpP_dE3=getSafeNodeDataPtr(mpP3, NodePneumatic::EnergyFlow); + mpP_c3=getSafeNodeDataPtr(mpP3, NodePneumatic::WaveVariable); + mpP_Zc3=getSafeNodeDataPtr(mpP3, NodePneumatic::CharImpedance); + //Port PS + mpP_pS=getSafeNodeDataPtr(mpPS, NodePneumatic::Pressure); + mpP_qmS=getSafeNodeDataPtr(mpPS, NodePneumatic::MassFlow); + mpP_TS=getSafeNodeDataPtr(mpPS, NodePneumatic::Temperature); + mpP_dES=getSafeNodeDataPtr(mpPS, NodePneumatic::EnergyFlow); + mpP_cS=getSafeNodeDataPtr(mpPS, NodePneumatic::WaveVariable); + mpP_ZcS=getSafeNodeDataPtr(mpPS, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port P3 + p3 = (*mpP_p3); + qm3 = (*mpP_qm3); + T3 = (*mpP_T3); + dE3 = (*mpP_dE3); + c3 = (*mpP_c3); + Zc3 = (*mpP_Zc3); + //Port PS + pS = (*mpP_pS); + qmS = (*mpP_qmS); + TS = (*mpP_TS); + dES = (*mpP_dES); + cS = (*mpP_cS); + ZcS = (*mpP_ZcS); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + x0 = (*mpx0); + pso = (*mppso); + psmax = (*mppsmax); + tau = (*mptau); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //Read outputVariables from nodes + xvref = (*mpxvref); + xv = (*mpxv); + qm12Pos = (*mpqm12Pos); + qm12Neg = (*mpqm12Neg); + qm32Pos = (*mpqm32Pos); + qm32Neg = (*mpqm32Neg); + Ng32e = (*mpNg32e); + Ng12e = (*mpNg12e); + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + xvref = 1 - 2*limit((pS - pso)/(psmax - pso),0,1); + cp = cv + R; + + //Initialize delays + delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ +mTimestep*xvref)/(mTimestep + 2*tau); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(12); + Vec stateVark(12); + Vec deltaStateVar(12); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port P3 + T3 = (*mpP_T3); + c3 = (*mpP_c3); + Zc3 = (*mpP_Zc3); + //Port PS + TS = (*mpP_TS); + cS = (*mpP_cS); + ZcS = (*mpP_ZcS); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + x0 = (*mpx0); + pso = (*mppso); + psmax = (*mppsmax); + tau = (*mptau); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //LocalExpressions + xvref = 1 - 2*limit((pS - pso)/(psmax - pso),0,1); + cp = cv + R; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = xv; + stateVark[1] = qm12Pos; + stateVark[2] = qm12Neg; + stateVark[3] = qm32Pos; + stateVark[4] = qm32Neg; + stateVark[5] = dE2; + stateVark[6] = dE1; + stateVark[7] = dE3; + stateVark[8] = p2; + stateVark[9] = p1; + stateVark[10] = p3; + stateVark[11] = pS; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //PCIvalve32 + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =xv - (mTimestep*xvref)/(mTimestep + 2*tau) + \ +delayedPart[1][1]; + systemEquations[1] =qm12Pos - Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - \ +xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[2] =qm12Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - \ +xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[3] =qm32Pos - Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))); + systemEquations[4] =qm32Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))); + systemEquations[5] =dE2 + \ +cp*(-(qm12Pos*T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - \ +qm32Pos*T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + \ +qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3) - qm12Pos*T1*onPositive(p1 \ +- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + qm12Neg*onNegative(p1 - p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - \ +p2)) + qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - \ +p2)) + qm12Pos*onPositive(p1 - p2))) - qm32Pos*T3*onPositive(-p2 + \ +p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + qm32Neg*onNegative(-p2 + p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + \ +p3)) + qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 \ ++ p3)) + qm32Pos*onPositive(-p2 + p3)))); + systemEquations[6] =dE1 - cp*(qm12Neg*onNegative(p1 - p2) - \ +qm12Pos*onPositive(p1 - p2))*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2))); + systemEquations[7] =dE3 - cp*(qm32Neg*onNegative(-p2 + p3) - \ +qm32Pos*onPositive(-p2 + p3))*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) \ ++ qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + \ +p3)) + qm32Pos*onPositive(-p2 + p3))); + systemEquations[8] =-c2 + p2 - dE2*Zc2; + systemEquations[9] =-c1 + p1 - dE1*Zc1; + systemEquations[10] =-c3 + p3 - dE3*Zc3; + systemEquations[11] =-cS + pS - dES*ZcS; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = 0; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = 0; + jacobianMatrix[0][6] = 0; + jacobianMatrix[0][7] = 0; + jacobianMatrix[0][8] = 0; + jacobianMatrix[0][9] = 0; + jacobianMatrix[0][10] = 0; + jacobianMatrix[0][11] = 0; + jacobianMatrix[1][0] = (Cf*p0*p1*Sqrt(T0/T1)*dxLimit((x0 - xv)/(-1 \ ++ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ +p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)))/(-1 + x0); + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = 0; + jacobianMatrix[1][6] = 0; + jacobianMatrix[1][7] = 0; + jacobianMatrix[1][8] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ +x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ +Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ +Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ +Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); + jacobianMatrix[1][9] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ +x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ ++ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ +Cf*p0*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[1][10] = 0; + jacobianMatrix[1][11] = 0; + jacobianMatrix[2][0] = (Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 - xv)/(-1 \ ++ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ +p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)))/(-1 + x0); + jacobianMatrix[2][1] = 0; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = 0; + jacobianMatrix[2][7] = 0; + jacobianMatrix[2][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ +x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ +Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ +Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ +Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - \ +Cf*p0*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[2][9] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ +x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ ++ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); + jacobianMatrix[2][10] = 0; + jacobianMatrix[2][11] = 0; + jacobianMatrix[3][0] = -((Cf*p0*p3*Sqrt(T0/T3)*dxLimit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = 0; + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = 0; + jacobianMatrix[3][7] = 0; + jacobianMatrix[3][8] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + \ +x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ ++ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ +p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ +Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))); + jacobianMatrix[3][9] = 0; + jacobianMatrix[3][10] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 \ ++ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ +- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ +Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ +p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ +p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))) - \ +Cf*p0*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ +p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ ++ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ +Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); + jacobianMatrix[3][11] = 0; + jacobianMatrix[4][0] = -((Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = 0; + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[4][7] = 0; + jacobianMatrix[4][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + \ +x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ ++ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ +p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ +Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))) - \ +Cf*p0*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ +p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ ++ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ +Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); + jacobianMatrix[4][9] = 0; + jacobianMatrix[4][10] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 \ ++ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ +- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ +Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ +p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ +p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))); + jacobianMatrix[4][11] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = cp*(-(T2*onNegative(-(qm12Neg*onNegative(p1 \ +- p2)) + qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - T1*onPositive(p1 \ +- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[5][2] = cp*onNegative(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[5][3] = cp*(-(T2*onNegative(-(qm32Neg*onNegative(-p2 \ ++ p3)) + qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3)) - \ +T3*onPositive(-p2 + p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + \ +qm32Pos*onPositive(-p2 + p3))); + jacobianMatrix[5][4] = cp*onNegative(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3))); + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[5][7] = 0; + jacobianMatrix[5][8] = 0; + jacobianMatrix[5][9] = 0; + jacobianMatrix[5][10] = 0; + jacobianMatrix[5][11] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = cp*onPositive(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[6][2] = -(cp*onNegative(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)))); + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = 0; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; + jacobianMatrix[6][7] = 0; + jacobianMatrix[6][8] = 0; + jacobianMatrix[6][9] = 0; + jacobianMatrix[6][10] = 0; + jacobianMatrix[6][11] = 0; + jacobianMatrix[7][0] = 0; + jacobianMatrix[7][1] = 0; + jacobianMatrix[7][2] = 0; + jacobianMatrix[7][3] = cp*onPositive(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3))); + jacobianMatrix[7][4] = -(cp*onNegative(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3)))); + jacobianMatrix[7][5] = 0; + jacobianMatrix[7][6] = 0; + jacobianMatrix[7][7] = 1; + jacobianMatrix[7][8] = 0; + jacobianMatrix[7][9] = 0; + jacobianMatrix[7][10] = 0; + jacobianMatrix[7][11] = 0; + jacobianMatrix[8][0] = 0; + jacobianMatrix[8][1] = 0; + jacobianMatrix[8][2] = 0; + jacobianMatrix[8][3] = 0; + jacobianMatrix[8][4] = 0; + jacobianMatrix[8][5] = -Zc2; + jacobianMatrix[8][6] = 0; + jacobianMatrix[8][7] = 0; + jacobianMatrix[8][8] = 1; + jacobianMatrix[8][9] = 0; + jacobianMatrix[8][10] = 0; + jacobianMatrix[8][11] = 0; + jacobianMatrix[9][0] = 0; + jacobianMatrix[9][1] = 0; + jacobianMatrix[9][2] = 0; + jacobianMatrix[9][3] = 0; + jacobianMatrix[9][4] = 0; + jacobianMatrix[9][5] = 0; + jacobianMatrix[9][6] = -Zc1; + jacobianMatrix[9][7] = 0; + jacobianMatrix[9][8] = 0; + jacobianMatrix[9][9] = 1; + jacobianMatrix[9][10] = 0; + jacobianMatrix[9][11] = 0; + jacobianMatrix[10][0] = 0; + jacobianMatrix[10][1] = 0; + jacobianMatrix[10][2] = 0; + jacobianMatrix[10][3] = 0; + jacobianMatrix[10][4] = 0; + jacobianMatrix[10][5] = 0; + jacobianMatrix[10][6] = 0; + jacobianMatrix[10][7] = -Zc3; + jacobianMatrix[10][8] = 0; + jacobianMatrix[10][9] = 0; + jacobianMatrix[10][10] = 1; + jacobianMatrix[10][11] = 0; + jacobianMatrix[11][0] = 0; + jacobianMatrix[11][1] = 0; + jacobianMatrix[11][2] = 0; + jacobianMatrix[11][3] = 0; + jacobianMatrix[11][4] = 0; + jacobianMatrix[11][5] = 0; + jacobianMatrix[11][6] = 0; + jacobianMatrix[11][7] = 0; + jacobianMatrix[11][8] = 0; + jacobianMatrix[11][9] = 0; + jacobianMatrix[11][10] = 0; + jacobianMatrix[11][11] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + xv=stateVark[0]; + qm12Pos=stateVark[1]; + qm12Neg=stateVark[2]; + qm32Pos=stateVark[3]; + qm32Neg=stateVark[4]; + dE2=stateVark[5]; + dE1=stateVark[6]; + dE3=stateVark[7]; + p2=stateVark[8]; + p1=stateVark[9]; + p3=stateVark[10]; + pS=stateVark[11]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ +mTimestep*xvref)/(mTimestep + 2*tau); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port PS + (*mpP_pS)=pS; + (*mpP_qmS)=qmS; + (*mpP_dES)=dES; + //outputVariables + (*mpxvref)=xvref; + (*mpxv)=xv; + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPCIVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPCIvalve32.nb b/devPneumatic/PneumaticPCIvalve32.nb new file mode 100644 index 0000000..b2b6a4b --- /dev/null +++ b/devPneumatic/PneumaticPCIvalve32.nb @@ -0,0 +1,1613 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 81832, 1605] +NotebookOptionsPosition[ 78113, 1492] +NotebookOutlinePosition[ 78768, 1514] +CellTagsIndexPosition[ 78725, 1511] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["PCIvalve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { + 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9, + 3.8063243197251673`*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, + 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, + 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9, + 3.8063179342198133`*^9}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, + 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, + 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, + 3.8063174798874598`*^9, 3.8063179344945307`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, + 3.806254000378049*^9}, 3.8062574817317266`*^9, {3.8063243306099396`*^9, + 3.806324349461499*^9}, 3.806324416298551*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "13", ",", "16", ",", "32", ",", + "14.5095156`8.91422786473835"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, + 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, + 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, + 3.806317479907439*^9, 3.806317934518506*^9}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "tau", ",", "0.01", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { + 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, + 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "xvref", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xv", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, + 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"S", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, + 3.8062575891968765`*^9}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, + 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { + 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8062574979430056`*^9, + 3.806257543289231*^9, 3.8062575979768195`*^9, 3.806257629004814*^9, + 3.8062577459551787`*^9, 3.806258402260197*^9, 3.8063171025386972`*^9, + 3.8063174799833612`*^9, 3.806317934602419*^9}, + ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"xine", "=", "xv"}]], "Input"], + +Cell[BoxData["xv"], "Output", + CellChangeTimes->{3.8062574979889574`*^9, 3.806257543335182*^9, + 3.8062575980217733`*^9, 3.806257629055762*^9, 3.8062577459981346`*^9, + 3.8062584023161397`*^9, 3.806317102587647*^9, 3.806317480033309*^9, + 3.8063179346543655`*^9}] +}, Open ]], + +Cell["The valve capacities are limited between 0 and Cf..", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { + 3.8054550231051493`*^9, 3.805455049024413*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.806316882280901*^9, 3.8063169103988905`*^9}}], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, + 3.8051086817684207`*^9}, {3.8051089737576003`*^9, + 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}}], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRANALEEkLk= + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", + CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, + 3.805109082009644*^9, 3.805454147227625*^9}, + ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"xvref", "\[Equal]", + RowBox[{"-", + RowBox[{"(", + RowBox[{ + RowBox[{"2", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"pS", "-", "pso"}], + RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], + "]"}]}], "-", "1"}], ")"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}, {3.806316914863285*^9, 3.806316971005375*^9}, { + 3.8063170012062225`*^9, 3.806317026109534*^9}, {3.806317473738803*^9, + 3.806317474329193*^9}, {3.80631791047431*^9, 3.8063179271900654`*^9}, { + 3.806324390971676*^9, 3.806324395444063*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}}, + ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9, + 3.8062547337555723`*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"tau", " ", + RowBox[{"der", "[", "xv", "]"}]}], "+", "xv"}], "\[Equal]", + "xvref"}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}, { + 3.806254165385564*^9, 3.806254242827421*^9}, 3.806254613342885*^9, + 3.8062547037359357`*^9, 3.8062576255773497`*^9, 3.806317064546909*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"pS", "==", + RowBox[{"(", + RowBox[{"cS", " ", "+", " ", + RowBox[{"ZcS", " ", "dES"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}, {3.806254671157713*^9, 3.806254686528556*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "xv", ",", "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", + "dE2", ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3", ",", + "pS"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}, {3.8062546920362015`*^9, 3.8062547113088818`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection", + ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,393,84, + 16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.806317935472522*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ +\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ +\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ +\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\ +\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"6\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.666667\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticPCvalve32\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"Pn\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"32\\\\\\\ +\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,393, + 85,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.80631793605592*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,393,86,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.8063179360978765`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,393,87,16373258516650437284, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.806317936140833*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,393,88,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.8063179362337365`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,393,89,16373258516650437284, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.806317936261709*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,393,90,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.80631793628868*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,393,91,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.806317936313654*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,393,92, + 16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.8063179363406267`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,393,93,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, + 3.806317936381584*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData["file"], "Input", + CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticPCvalve32.hpp\"\>"], "Output", + CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, + 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, + 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9, + 3.806317936501461*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 757}, +WindowMargins->{{Automatic, -1809}, {Automatic, 77}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 411, 6, 70, "Section"], +Cell[994, 30, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1710, 44, 484, 11, 30, "Input"], +Cell[2197, 57, 1957, 27, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[4191, 89, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4549, 97, 750, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[5314, 114, 483, 7, 30, "Output"], +Cell[CellGroupData[{ +Cell[5822, 125, 1803, 38, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7628, 165, 2302, 34, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9933, 201, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[10320, 213, 98, 0, 49, "Subsection"], +Cell[10421, 215, 602, 9, 49, "Text"], +Cell[11026, 226, 18611, 232, 156, "Graphics"], +Cell[29640, 460, 3215, 67, 272, "Input"], +Cell[32858, 529, 2339, 50, 202, "Input"], +Cell[35200, 581, 1742, 31, 126, "Input"], +Cell[CellGroupData[{ +Cell[36967, 616, 200, 3, 30, "Input"], +Cell[37170, 621, 1287, 18, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[38506, 645, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[CellGroupData[{ +Cell[38676, 651, 53, 1, 30, "Input"], +Cell[38732, 654, 266, 4, 30, "Output"] +}, Open ]], +Cell[39013, 661, 394, 5, 30, "Text"], +Cell[39410, 668, 94, 1, 30, "Input"], +Cell[39507, 671, 1368, 32, 90, "Input"], +Cell[40878, 705, 262, 6, 50, "Input"], +Cell[41143, 713, 213, 4, 30, "Text"], +Cell[41359, 719, 191, 4, 30, "Input"], +Cell[41553, 725, 1090, 24, 74, "Input"], +Cell[42646, 751, 1041, 23, 74, "Input"], +Cell[43690, 776, 1421, 42, 52, "Input"], +Cell[45114, 820, 1140, 24, 74, "Input"], +Cell[46257, 846, 1090, 24, 74, "Input"], +Cell[47350, 872, 2086, 48, 52, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[49473, 925, 159, 3, 49, "Subsection"], +Cell[49635, 930, 246, 5, 30, "Input"], +Cell[49884, 937, 1355, 30, 131, "Input"], +Cell[51242, 969, 293, 4, 30, "Text"], +Cell[51538, 975, 2174, 55, 107, "Input"], +Cell[53715, 1032, 4252, 73, 350, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[58004, 1110, 162, 3, 49, "Subsection"], +Cell[58169, 1115, 1637, 34, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[59843, 1154, 174, 3, 49, "Subsection"], +Cell[60020, 1159, 1250, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[61307, 1184, 92, 1, 49, "Subsection"], +Cell[61402, 1187, 146, 2, 30, "Text"], +Cell[61551, 1191, 1092, 21, 145, "Input"], +Cell[CellGroupData[{ +Cell[62668, 1216, 122, 2, 30, "Input"], +Cell[62793, 1220, 569, 11, 21, "Message"], +Cell[63365, 1233, 9907, 142, 130, "Message"], +Cell[73275, 1377, 459, 9, 21, "Message"], +Cell[73737, 1388, 599, 12, 21, "Message"], +Cell[74339, 1402, 459, 9, 21, "Message"], +Cell[74801, 1413, 599, 12, 21, "Message"], +Cell[75403, 1427, 456, 9, 21, "Message"], +Cell[75862, 1438, 529, 10, 21, "Message"], +Cell[76394, 1450, 631, 12, 21, "Message"], +Cell[77028, 1464, 532, 10, 21, "Message"] +}, Open ]], +Cell[CellGroupData[{ +Cell[77597, 1479, 97, 1, 30, "Input"], +Cell[77697, 1482, 376, 5, 30, "Output"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPCIvalve32.svg b/devPneumatic/PneumaticPCIvalve32.svg new file mode 100644 index 0000000..3b61c49 --- /dev/null +++ b/devPneumatic/PneumaticPCIvalve32.svg @@ -0,0 +1,1346 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPCIvalve32.xml b/devPneumatic/PneumaticPCIvalve32.xml new file mode 100644 index 0000000..531bd29 --- /dev/null +++ b/devPneumatic/PneumaticPCIvalve32.xml @@ -0,0 +1,21 @@ + + + + + + + + + Pnenumatic pressure controlled inverted 3/2 valve. + PneumaticPCIvalve32.nb + PneumaticPCIvalve32.pdf + + + + + + + + + + diff --git a/devPneumatic/PneumaticPCvalve32.hpp b/devPneumatic/PneumaticPCvalve32.hpp new file mode 100644 index 0000000..eaf5a14 --- /dev/null +++ b/devPneumatic/PneumaticPCvalve32.hpp @@ -0,0 +1,809 @@ +#ifndef PNEUMATICPCVALVE32_HPP_INCLUDED +#define PNEUMATICPCVALVE32_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPCvalve32.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 13 Aug 2020 16:32:15 +//! @brief Pneumatic pressure controlled 32-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticPCvalve32.nb*/ + +using namespace hopsan; + +class PneumaticPCvalve32 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double pso; + double psmax; + double tau; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpPS; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[12]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port PS variable + double pS; + double qmS; + double TS; + double dES; + double cS; + double ZcS; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double xvref; + double xv; + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port PS pointer + double *mpP_pS; + double *mpP_qmS; + double *mpP_TS; + double *mpP_dES; + double *mpP_cS; + double *mpP_ZcS; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mppso; + double *mppsmax; + double *mptau; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpxvref; + double *mpxv; + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPCvalve32(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(12,12); + systemEquations.create(12); + delayedPart.create(13,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpPS=addPowerPort("PS","NodePneumatic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ +0.528,&mpBf); + addInputVariable("Cf", "C, ISO flow coefficient", "", \ +1.e-13,&mpCf); + addInputVariable("x0", "Relative overlap", "", 0.1,&mpx0); + addInputVariable("pso", "Opening pressure", "Pa", \ +800000.,&mppso); + addInputVariable("psmax", "Fully open pressure", "Pa", \ +900000.,&mppsmax); + addInputVariable("tau", "valve time constant", "s", 0.01,&mptau); + addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); + addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); + //Add outputVariables to the component + addOutputVariable("xvref","Ref normalized spool \ +position","",0.,&mpxvref); + addOutputVariable("xv","Normalized spool position","",0.,&mpxv); + addOutputVariable("qm12Pos","Internal \ +variable","kg/s",0.,&mpqm12Pos); + addOutputVariable("qm12Neg","Internal \ +variable","kg/s",0.,&mpqm12Neg); + addOutputVariable("qm32Pos","Internal \ +variable","kg/s",0.,&mpqm32Pos); + addOutputVariable("qm32Neg","Internal \ +variable","kg/s",0.,&mpqm32Neg); + addOutputVariable("Ng32e","Internal variable","",0.,&mpNg32e); + addOutputVariable("Ng12e","Internal variable","",0.,&mpNg12e); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,12); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + //Port P3 + mpP_p3=getSafeNodeDataPtr(mpP3, NodePneumatic::Pressure); + mpP_qm3=getSafeNodeDataPtr(mpP3, NodePneumatic::MassFlow); + mpP_T3=getSafeNodeDataPtr(mpP3, NodePneumatic::Temperature); + mpP_dE3=getSafeNodeDataPtr(mpP3, NodePneumatic::EnergyFlow); + mpP_c3=getSafeNodeDataPtr(mpP3, NodePneumatic::WaveVariable); + mpP_Zc3=getSafeNodeDataPtr(mpP3, NodePneumatic::CharImpedance); + //Port PS + mpP_pS=getSafeNodeDataPtr(mpPS, NodePneumatic::Pressure); + mpP_qmS=getSafeNodeDataPtr(mpPS, NodePneumatic::MassFlow); + mpP_TS=getSafeNodeDataPtr(mpPS, NodePneumatic::Temperature); + mpP_dES=getSafeNodeDataPtr(mpPS, NodePneumatic::EnergyFlow); + mpP_cS=getSafeNodeDataPtr(mpPS, NodePneumatic::WaveVariable); + mpP_ZcS=getSafeNodeDataPtr(mpPS, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port P3 + p3 = (*mpP_p3); + qm3 = (*mpP_qm3); + T3 = (*mpP_T3); + dE3 = (*mpP_dE3); + c3 = (*mpP_c3); + Zc3 = (*mpP_Zc3); + //Port PS + pS = (*mpP_pS); + qmS = (*mpP_qmS); + TS = (*mpP_TS); + dES = (*mpP_dES); + cS = (*mpP_cS); + ZcS = (*mpP_ZcS); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + x0 = (*mpx0); + pso = (*mppso); + psmax = (*mppsmax); + tau = (*mptau); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //Read outputVariables from nodes + xvref = (*mpxvref); + xv = (*mpxv); + qm12Pos = (*mpqm12Pos); + qm12Neg = (*mpqm12Neg); + qm32Pos = (*mpqm32Pos); + qm32Neg = (*mpqm32Neg); + Ng32e = (*mpNg32e); + Ng12e = (*mpNg12e); + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + xvref = -1 + 2*limit((pS - pso)/(psmax - pso),0,1); + cp = cv + R; + + //Initialize delays + delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ +mTimestep*xvref)/(mTimestep + 2*tau); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(12); + Vec stateVark(12); + Vec deltaStateVar(12); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port P3 + T3 = (*mpP_T3); + c3 = (*mpP_c3); + Zc3 = (*mpP_Zc3); + //Port PS + TS = (*mpP_TS); + cS = (*mpP_cS); + ZcS = (*mpP_ZcS); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + x0 = (*mpx0); + pso = (*mppso); + psmax = (*mppsmax); + tau = (*mptau); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //LocalExpressions + xvref = -1 + 2*limit((pS - pso)/(psmax - pso),0,1); + cp = cv + R; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = xv; + stateVark[1] = qm12Pos; + stateVark[2] = qm12Neg; + stateVark[3] = qm32Pos; + stateVark[4] = qm32Neg; + stateVark[5] = dE2; + stateVark[6] = dE1; + stateVark[7] = dE3; + stateVark[8] = p2; + stateVark[9] = p1; + stateVark[10] = p3; + stateVark[11] = pS; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //PCvalve32 + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =xv - (mTimestep*xvref)/(mTimestep + 2*tau) + \ +delayedPart[1][1]; + systemEquations[1] =qm12Pos - Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - \ +xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[2] =qm12Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - \ +xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[3] =qm32Pos - Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))); + systemEquations[4] =qm32Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))); + systemEquations[5] =dE2 + \ +cp*(-(qm12Pos*T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - \ +qm32Pos*T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + \ +qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3) - qm12Pos*T1*onPositive(p1 \ +- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + qm12Neg*onNegative(p1 - p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - \ +p2)) + qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - \ +p2)) + qm12Pos*onPositive(p1 - p2))) - qm32Pos*T3*onPositive(-p2 + \ +p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + qm32Neg*onNegative(-p2 + p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + \ +p3)) + qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 \ ++ p3)) + qm32Pos*onPositive(-p2 + p3)))); + systemEquations[6] =dE1 - cp*(qm12Neg*onNegative(p1 - p2) - \ +qm12Pos*onPositive(p1 - p2))*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + \ +qm12Pos*onPositive(p1 - p2))); + systemEquations[7] =dE3 - cp*(qm32Neg*onNegative(-p2 + p3) - \ +qm32Pos*onPositive(-p2 + p3))*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) \ ++ qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + \ +p3)) + qm32Pos*onPositive(-p2 + p3))); + systemEquations[8] =-c2 + p2 - dE2*Zc2; + systemEquations[9] =-c1 + p1 - dE1*Zc1; + systemEquations[10] =-c3 + p3 - dE3*Zc3; + systemEquations[11] =-cS + pS - dES*ZcS; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = 0; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = 0; + jacobianMatrix[0][6] = 0; + jacobianMatrix[0][7] = 0; + jacobianMatrix[0][8] = 0; + jacobianMatrix[0][9] = 0; + jacobianMatrix[0][10] = 0; + jacobianMatrix[0][11] = 0; + jacobianMatrix[1][0] = (Cf*p0*p1*Sqrt(T0/T1)*dxLimit((x0 - xv)/(-1 \ ++ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ +p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)))/(-1 + x0); + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = 0; + jacobianMatrix[1][6] = 0; + jacobianMatrix[1][7] = 0; + jacobianMatrix[1][8] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ +x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ +Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ +Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ +Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); + jacobianMatrix[1][9] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ +x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ ++ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ +Cf*p0*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[1][10] = 0; + jacobianMatrix[1][11] = 0; + jacobianMatrix[2][0] = (Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 - xv)/(-1 \ ++ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ +p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)))/(-1 + x0); + jacobianMatrix[2][1] = 0; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = 0; + jacobianMatrix[2][7] = 0; + jacobianMatrix[2][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ +x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ +Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ +Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ +Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - \ +Cf*p0*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[2][9] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ +x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ ++ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); + jacobianMatrix[2][10] = 0; + jacobianMatrix[2][11] = 0; + jacobianMatrix[3][0] = -((Cf*p0*p3*Sqrt(T0/T3)*dxLimit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = 0; + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = 0; + jacobianMatrix[3][7] = 0; + jacobianMatrix[3][8] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + \ +x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ ++ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ +p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ +Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))); + jacobianMatrix[3][9] = 0; + jacobianMatrix[3][10] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 \ ++ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ +- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ +Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ +p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ +p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))) - \ +Cf*p0*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ +p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ ++ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ +Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); + jacobianMatrix[3][11] = 0; + jacobianMatrix[4][0] = -((Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 + \ +xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ +Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = 0; + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[4][7] = 0; + jacobianMatrix[4][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + \ +x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ ++ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ +p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ +Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))) - \ +Cf*p0*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ +p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ ++ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ +Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); + jacobianMatrix[4][9] = 0; + jacobianMatrix[4][10] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 \ ++ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ +- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ +Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ +p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ +Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ +p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))); + jacobianMatrix[4][11] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = cp*(-(T2*onNegative(-(qm12Neg*onNegative(p1 \ +- p2)) + qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - T1*onPositive(p1 \ +- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[5][2] = cp*onNegative(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[5][3] = cp*(-(T2*onNegative(-(qm32Neg*onNegative(-p2 \ ++ p3)) + qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3)) - \ +T3*onPositive(-p2 + p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + \ +qm32Pos*onPositive(-p2 + p3))); + jacobianMatrix[5][4] = cp*onNegative(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3))); + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[5][7] = 0; + jacobianMatrix[5][8] = 0; + jacobianMatrix[5][9] = 0; + jacobianMatrix[5][10] = 0; + jacobianMatrix[5][11] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = cp*onPositive(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2))); + jacobianMatrix[6][2] = -(cp*onNegative(p1 - \ +p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ +p2)))); + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = 0; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; + jacobianMatrix[6][7] = 0; + jacobianMatrix[6][8] = 0; + jacobianMatrix[6][9] = 0; + jacobianMatrix[6][10] = 0; + jacobianMatrix[6][11] = 0; + jacobianMatrix[7][0] = 0; + jacobianMatrix[7][1] = 0; + jacobianMatrix[7][2] = 0; + jacobianMatrix[7][3] = cp*onPositive(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3))); + jacobianMatrix[7][4] = -(cp*onNegative(-p2 + \ +p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ +p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ ++ p3)))); + jacobianMatrix[7][5] = 0; + jacobianMatrix[7][6] = 0; + jacobianMatrix[7][7] = 1; + jacobianMatrix[7][8] = 0; + jacobianMatrix[7][9] = 0; + jacobianMatrix[7][10] = 0; + jacobianMatrix[7][11] = 0; + jacobianMatrix[8][0] = 0; + jacobianMatrix[8][1] = 0; + jacobianMatrix[8][2] = 0; + jacobianMatrix[8][3] = 0; + jacobianMatrix[8][4] = 0; + jacobianMatrix[8][5] = -Zc2; + jacobianMatrix[8][6] = 0; + jacobianMatrix[8][7] = 0; + jacobianMatrix[8][8] = 1; + jacobianMatrix[8][9] = 0; + jacobianMatrix[8][10] = 0; + jacobianMatrix[8][11] = 0; + jacobianMatrix[9][0] = 0; + jacobianMatrix[9][1] = 0; + jacobianMatrix[9][2] = 0; + jacobianMatrix[9][3] = 0; + jacobianMatrix[9][4] = 0; + jacobianMatrix[9][5] = 0; + jacobianMatrix[9][6] = -Zc1; + jacobianMatrix[9][7] = 0; + jacobianMatrix[9][8] = 0; + jacobianMatrix[9][9] = 1; + jacobianMatrix[9][10] = 0; + jacobianMatrix[9][11] = 0; + jacobianMatrix[10][0] = 0; + jacobianMatrix[10][1] = 0; + jacobianMatrix[10][2] = 0; + jacobianMatrix[10][3] = 0; + jacobianMatrix[10][4] = 0; + jacobianMatrix[10][5] = 0; + jacobianMatrix[10][6] = 0; + jacobianMatrix[10][7] = -Zc3; + jacobianMatrix[10][8] = 0; + jacobianMatrix[10][9] = 0; + jacobianMatrix[10][10] = 1; + jacobianMatrix[10][11] = 0; + jacobianMatrix[11][0] = 0; + jacobianMatrix[11][1] = 0; + jacobianMatrix[11][2] = 0; + jacobianMatrix[11][3] = 0; + jacobianMatrix[11][4] = 0; + jacobianMatrix[11][5] = 0; + jacobianMatrix[11][6] = 0; + jacobianMatrix[11][7] = 0; + jacobianMatrix[11][8] = 0; + jacobianMatrix[11][9] = 0; + jacobianMatrix[11][10] = 0; + jacobianMatrix[11][11] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + xv=stateVark[0]; + qm12Pos=stateVark[1]; + qm12Neg=stateVark[2]; + qm32Pos=stateVark[3]; + qm32Neg=stateVark[4]; + dE2=stateVark[5]; + dE1=stateVark[6]; + dE3=stateVark[7]; + p2=stateVark[8]; + p1=stateVark[9]; + p3=stateVark[10]; + pS=stateVark[11]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ +mTimestep*xvref)/(mTimestep + 2*tau); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port PS + (*mpP_pS)=pS; + (*mpP_qmS)=qmS; + (*mpP_dES)=dES; + //outputVariables + (*mpxvref)=xvref; + (*mpxv)=xv; + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPCVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPCvalve32.nb b/devPneumatic/PneumaticPCvalve32.nb new file mode 100644 index 0000000..56b21eb --- /dev/null +++ b/devPneumatic/PneumaticPCvalve32.nb @@ -0,0 +1,1609 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 81726, 1601] +NotebookOptionsPosition[ 77931, 1486] +NotebookOutlinePosition[ 78586, 1508] +CellTagsIndexPosition[ 78543, 1505] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["PCvalve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { + 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, + 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, + 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, + 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, + 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, + 3.8063174798874598`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, + 3.806254000378049*^9}, 3.8062574817317266`*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "13", ",", "16", ",", "24", ",", + "39.9004464`9.353552637319469"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, + 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, + 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, + 3.806317479907439*^9}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "tau", ",", "0.01", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { + 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, + 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "xvref", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xv", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, + 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"S", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, + 3.8062575891968765`*^9}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, + 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { + 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8062574979430056`*^9, + 3.806257543289231*^9, 3.8062575979768195`*^9, 3.806257629004814*^9, + 3.8062577459551787`*^9, 3.806258402260197*^9, 3.8063171025386972`*^9, + 3.8063174799833612`*^9}, + ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell[BoxData[ + RowBox[{"xine", "=."}]], "Input", + CellChangeTimes->{{3.80625457134412*^9, 3.8062545717177343`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"xine", "=", "xv"}]], "Input"], + +Cell[BoxData["xv"], "Output", + CellChangeTimes->{3.8062574979889574`*^9, 3.806257543335182*^9, + 3.8062575980217733`*^9, 3.806257629055762*^9, 3.8062577459981346`*^9, + 3.8062584023161397`*^9, 3.806317102587647*^9, 3.806317480033309*^9}] +}, Open ]], + +Cell["The valve capacities are limited between 0 and Cf..", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { + 3.8054550231051493`*^9, 3.805455049024413*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.806316882280901*^9, 3.8063169103988905`*^9}}], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, + 3.8051086817684207`*^9}, {3.8051089737576003`*^9, + 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}}], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRANALEEkLk= + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", + CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, + 3.805109082009644*^9, 3.805454147227625*^9}, + ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"xvref", "\[Equal]", + RowBox[{ + RowBox[{"2", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"pS", "-", "pso"}], + RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], + "]"}]}], "-", "1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}, {3.806316914863285*^9, 3.806316971005375*^9}, { + 3.8063170012062225`*^9, 3.806317026109534*^9}, {3.806317473738803*^9, + 3.806317474329193*^9}, {3.80631791047431*^9, 3.8063179271900654`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}}, + ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9, + 3.8062547337555723`*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"tau", " ", + RowBox[{"der", "[", "xv", "]"}]}], "+", "xv"}], "\[Equal]", + "xvref"}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}, { + 3.806254165385564*^9, 3.806254242827421*^9}, 3.806254613342885*^9, + 3.8062547037359357`*^9, 3.8062576255773497`*^9, 3.806317064546909*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"pS", "==", + RowBox[{"(", + RowBox[{"cS", " ", "+", " ", + RowBox[{"ZcS", " ", "dES"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}, {3.806254671157713*^9, 3.806254686528556*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "xv", ",", "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", + "dE2", ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3", ",", + "pS"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}, {3.8062546920362015`*^9, 3.8062547113088818`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection", + ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,349,74, + 16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ +\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ +\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ +\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\ +\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"6\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.666667\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticPCvalve32\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"Pn\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"32\\\\\\\ +\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,349, + 75,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174811241837`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,349,76,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481165142*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,349,77,16373258516650437284, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174811911154`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,349,78,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174812160892`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,349,79,16373258516650437284, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481243061*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,349,80,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174812820215`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,349,81,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481309993*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,349,82, + 16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481347953*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,349,83,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, + 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, + 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174813789215`*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData["file"], "Input", + CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticPCvalve32.hpp\"\>"], "Output", + CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, + 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, + 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 757}, +WindowMargins->{{Automatic, -1809}, {Automatic, 77}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 382, 5, 70, "Section"], +Cell[965, 29, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1681, 43, 484, 11, 30, "Input"], +Cell[2168, 56, 1929, 26, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[4134, 87, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4492, 95, 750, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[5257, 112, 459, 7, 30, "Output"], +Cell[CellGroupData[{ +Cell[5741, 123, 1716, 36, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7460, 161, 2281, 34, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9744, 197, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[10131, 209, 98, 0, 49, "Subsection"], +Cell[10232, 211, 602, 9, 49, "Text"], +Cell[10837, 222, 18611, 232, 156, "Graphics"], +Cell[29451, 456, 3215, 67, 272, "Input"], +Cell[32669, 525, 2339, 50, 202, "Input"], +Cell[35011, 577, 1742, 31, 126, "Input"], +Cell[CellGroupData[{ +Cell[36778, 612, 200, 3, 30, "Input"], +Cell[36981, 617, 1265, 18, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[38295, 641, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[38443, 645, 323, 7, 30, "Input"], +Cell[38769, 654, 115, 2, 30, "Input"], +Cell[CellGroupData[{ +Cell[38909, 660, 53, 1, 30, "Input"], +Cell[38965, 663, 239, 3, 30, "Output"] +}, Open ]], +Cell[39219, 669, 394, 5, 30, "Text"], +Cell[39616, 676, 94, 1, 30, "Input"], +Cell[39713, 679, 1368, 32, 90, "Input"], +Cell[41084, 713, 262, 6, 50, "Input"], +Cell[41349, 721, 213, 4, 30, "Text"], +Cell[41565, 727, 191, 4, 30, "Input"], +Cell[41759, 733, 1090, 24, 74, "Input"], +Cell[42852, 759, 1041, 23, 74, "Input"], +Cell[43896, 784, 1421, 42, 52, "Input"], +Cell[45320, 828, 1140, 24, 74, "Input"], +Cell[46463, 854, 1090, 24, 74, "Input"], +Cell[47556, 880, 2086, 48, 52, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[49679, 933, 159, 3, 49, "Subsection"], +Cell[49841, 938, 246, 5, 30, "Input"], +Cell[50090, 945, 1237, 27, 131, "Input"], +Cell[51330, 974, 293, 4, 30, "Text"], +Cell[51626, 980, 2174, 55, 107, "Input"], +Cell[53803, 1037, 4252, 73, 350, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[58092, 1115, 162, 3, 49, "Subsection"], +Cell[58257, 1120, 1637, 34, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[59931, 1159, 174, 3, 49, "Subsection"], +Cell[60108, 1164, 1250, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[61395, 1189, 92, 1, 49, "Subsection"], +Cell[61490, 1192, 146, 2, 30, "Text"], +Cell[61639, 1196, 1092, 21, 145, "Input"], +Cell[CellGroupData[{ +Cell[62756, 1221, 122, 2, 30, "Input"], +Cell[62881, 1225, 544, 10, 21, "Message"], +Cell[63428, 1237, 9885, 141, 130, "Message"], +Cell[73316, 1380, 432, 8, 21, "Message"], +Cell[73751, 1390, 576, 11, 21, "Message"], +Cell[74330, 1403, 434, 8, 21, "Message"], +Cell[74767, 1413, 574, 11, 21, "Message"], +Cell[75344, 1426, 434, 8, 21, "Message"], +Cell[75781, 1436, 504, 9, 21, "Message"], +Cell[76288, 1447, 604, 11, 21, "Message"], +Cell[76895, 1460, 509, 9, 21, "Message"] +}, Open ]], +Cell[CellGroupData[{ +Cell[77441, 1474, 97, 1, 30, "Input"], +Cell[77541, 1477, 350, 4, 30, "Output"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPCvalve32.svg b/devPneumatic/PneumaticPCvalve32.svg new file mode 100644 index 0000000..1a3c7ee --- /dev/null +++ b/devPneumatic/PneumaticPCvalve32.svg @@ -0,0 +1,1199 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPCvalve32.xml b/devPneumatic/PneumaticPCvalve32.xml new file mode 100644 index 0000000..8f31d61 --- /dev/null +++ b/devPneumatic/PneumaticPCvalve32.xml @@ -0,0 +1,21 @@ + + + + + + + + + Pnenumatic pressure controlled 3/2 valve. + PneumaticPCvalve32.nb + PneumaticPCvalve32.pdf + + + + + + + + + + diff --git a/devPneumatic/PneumaticPCvalve52.svg b/devPneumatic/PneumaticPCvalve52.svg new file mode 100644 index 0000000..18258af --- /dev/null +++ b/devPneumatic/PneumaticPCvalve52.svg @@ -0,0 +1,1055 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPiston1.xml b/devPneumatic/PneumaticPiston1.xml new file mode 100644 index 0000000..170a842 --- /dev/null +++ b/devPneumatic/PneumaticPiston1.xml @@ -0,0 +1,52 @@ + + + + + + + + + This is a Q-type pneumatic linear actuator with viscous and dry friction. + pistonqhelp.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPistonMass.hpp b/devPneumatic/PneumaticPistonMass.hpp new file mode 100644 index 0000000..4842282 --- /dev/null +++ b/devPneumatic/PneumaticPistonMass.hpp @@ -0,0 +1,529 @@ +#ifndef PNEUMATICPISTONMASS_HPP_INCLUDED +#define PNEUMATICPISTONMASS_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPistonMass.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Fri 7 Aug 2020 18:21:56 +//! @brief Pneumatic piston with spring return +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticPistonMass.nb*/ + +using namespace hopsan; + +class PneumaticPistonMass : public ComponentQ +{ +private: + double A1; + double A2; + double SL; + double Cip; + double bp; + double ks; + double f0; + double fc; + double bfc; + double xmin; + double xmax; + double mL; + double bL; + double patm; + double Tatm; + double R; + double cv; + Port *mpP1; + Port *mpP2; + Port *mpPL; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[9]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port PL variable + double fL; + double xL; + double vL; + double cL; + double ZcL; + double eqMassL; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port PL pointer + double *mpP_fL; + double *mpP_xL; + double *mpP_vL; + double *mpP_cL; + double *mpP_ZcL; + double *mpP_eqMassL; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpA1; + double *mpA2; + double *mpSL; + double *mpCip; + double *mpbp; + double *mpks; + double *mpf0; + double *mpfc; + double *mpbfc; + double *mpxmin; + double *mpxmax; + double *mpmL; + double *mpbL; + double *mppatm; + double *mpTatm; + double *mpR; + double *mpcv; + //outputVariables pointers + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart20; + Delay mDelayedPart21; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPistonMass(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(9,9); + systemEquations.create(9); + delayedPart.create(10,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpPL=addPowerPort("PL","NodeMechanic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); + addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); + addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); + addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); + addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ +30.,&mpbp); + addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); + addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); + addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); + addInputVariable("bfc", "Numerical friction factor.", "", \ +1.,&mpbfc); + addInputVariable("xmin", "Limitation on stroke", "m", \ +0.,&mpxmin); + addInputVariable("xmax", "Limitation on stroke", "m", \ +0.5,&mpxmax); + addInputVariable("mL", "Inertia", "kg", 10.,&mpmL); + addInputVariable("bL", "Viscous friction coefficient of load", \ +"Ns/m", 0.,&mpbL); + addInputVariable("patm", "Ambient pressure", "Pa", \ +100000.,&mppatm); + addInputVariable("Tatm", "Ambient temperature", "K", \ +297.,&mpTatm); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,9); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + //Port PL + mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); + mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); + mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); + mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); + mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); + mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port PL + fL = (*mpP_fL); + xL = (*mpP_xL); + vL = (*mpP_vL); + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + eqMassL = (*mpP_eqMassL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ ++ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ +bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ +A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + mDelayedPart21.initialize(mNstep,delayParts2[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(9); + Vec stateVark(9); + Vec deltaStateVar(9); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port PL + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //LocalExpressions + + //Initializing variable vector for Newton-Raphson + stateVark[0] = vL; + stateVark[1] = xL; + stateVark[2] = qm1; + stateVark[3] = qm2; + stateVark[4] = dE1; + stateVark[5] = dE2; + stateVark[6] = p1; + stateVark[7] = p2; + stateVark[8] = fL; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //PistonMass + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(A2*c2 + cL + f0 - \ +A2*patm + ks*xL - A1*(c1 - patm + qm1*Zc1) + A2*qm2*Zc2 + \ +limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + mTimestep*(bL + bp + ZcL))) - \ +delayedPart[1][1]); + systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax); + systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ +T1)) + A1*p1*vL)/(R*(1. + T1)); + systemEquations[3] =qm2 + (Cip*R*(p1*(-1. - 1.*T2) + p2*(1. + \ +1.*T2)) - 1.*A2*p2*vL)/(R*(1. + T2)); + systemEquations[4] =dE1 - qm1*(cv + R)*T1; + systemEquations[5] =dE2 - qm2*(cv + R)*T2; + systemEquations[6] =-c1 + p1 - dE1*Zc1; + systemEquations[7] =-c2 + p2 - dE2*Zc2; + systemEquations[8] =-cL + fL - vL*ZcL; + + //Jacobian matrix + jacobianMatrix[0][0] = 1 + \ +(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ +- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ +ZcL)); + jacobianMatrix[0][1] = \ +(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); + jacobianMatrix[0][2] = \ +-((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); + jacobianMatrix[0][3] = \ +(A2*mTimestep*Zc2*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = 0; + jacobianMatrix[0][6] = 0; + jacobianMatrix[0][7] = 0; + jacobianMatrix[0][8] = 0; + jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax))/2.; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = 0; + jacobianMatrix[1][6] = 0; + jacobianMatrix[1][7] = 0; + jacobianMatrix[1][8] = 0; + jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); + jacobianMatrix[2][1] = 0; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); + jacobianMatrix[2][7] = 0; + jacobianMatrix[2][8] = 0; + jacobianMatrix[3][0] = (-1.*A2*p2)/(R*(1. + T2)); + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = 0; + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = (Cip*(-1. - 1.*T2))/(1. + T2); + jacobianMatrix[3][7] = (Cip*R*(1. + 1.*T2) - 1.*A2*vL)/(R*(1. + \ +T2)); + jacobianMatrix[3][8] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = -((cv + R)*T1); + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[4][7] = 0; + jacobianMatrix[4][8] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = -((cv + R)*T2); + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[5][7] = 0; + jacobianMatrix[5][8] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = 0; + jacobianMatrix[6][2] = 0; + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = -Zc1; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; + jacobianMatrix[6][7] = 0; + jacobianMatrix[6][8] = 0; + jacobianMatrix[7][0] = 0; + jacobianMatrix[7][1] = 0; + jacobianMatrix[7][2] = 0; + jacobianMatrix[7][3] = 0; + jacobianMatrix[7][4] = 0; + jacobianMatrix[7][5] = -Zc2; + jacobianMatrix[7][6] = 0; + jacobianMatrix[7][7] = 1; + jacobianMatrix[7][8] = 0; + jacobianMatrix[8][0] = -ZcL; + jacobianMatrix[8][1] = 0; + jacobianMatrix[8][2] = 0; + jacobianMatrix[8][3] = 0; + jacobianMatrix[8][4] = 0; + jacobianMatrix[8][5] = 0; + jacobianMatrix[8][6] = 0; + jacobianMatrix[8][7] = 0; + jacobianMatrix[8][8] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + vL=stateVark[0]; + xL=stateVark[1]; + qm1=stateVark[2]; + qm2=stateVark[3]; + dE1=stateVark[4]; + dE2=stateVark[5]; + p1=stateVark[6]; + p2=stateVark[7]; + fL=stateVark[8]; + } + + //Calculate the delayed parts + delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ ++ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ +bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ +A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port PL + (*mpP_fL)=fL; + (*mpP_xL)=xL; + (*mpP_vL)=vL; + (*mpP_eqMassL)=eqMassL; + //outputVariables + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + mDelayedPart21.update(delayParts2[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPISTONMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonMass.nb b/devPneumatic/PneumaticPistonMass.nb new file mode 100644 index 0000000..d7747e5 --- /dev/null +++ b/devPneumatic/PneumaticPistonMass.nb @@ -0,0 +1,1020 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 49746, 1012] +NotebookOptionsPosition[ 46901, 927] +NotebookOutlinePosition[ 47554, 949] +CellTagsIndexPosition[ 47511, 946] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell[TextData[{ + StyleBox["PistonMass\n", + FontFamily->"System"], + StyleBox["Single acting piston with an inertia load and spring", + FontSize->16] +}], "Section", + Evaluatable->False, + CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { + 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, + 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, + 3.8056303262154465`*^9, 3.805734353628872*^9}, + ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8056302888340044`*^9}, + ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\""}], + "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9, { + 3.805790077841528*^9, 3.805790090772189*^9}}, + ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { + 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, + 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, + 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { + 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, + 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, + 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { + 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { + 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, + 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, + 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}, { + 3.8056490732137604`*^9, 3.8056490808678637`*^9}, 3.805734339831105*^9, + 3.805734397352771*^9, 3.805789993130909*^9, 3.8057900332904825`*^9, + 3.8057900984752445`*^9}, + ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], + +Cell["\<\ +Single acting pneumatic piston with spring return connected to an inertia load. +The chamber volume is not included in the model but can be considered outside \ +the model.\ +\>", "Text", + CellChangeTimes->{ + 3.80362280378491*^9, {3.8049269528843813`*^9, 3.8049269782841835`*^9}}, + ExpressionUUID -> "abd21bd8-cde0-4513-a339-eb1237cc4233"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002CX0@0006`000160000000001H4002N0@00 +oOoooogooomj4P000PP00215CDH00040j2@00=d0000300000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000<2;A020lTP0000000000/08/>P00S4800000 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001N1000i@40000000000000GP@00>D1000T000090000;02;3X0000000000;02;3X008a2 +00000080000R000030000?oooom60000R0P007`80015CDH[:d0000`0000000007T0600`000000000 +8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00S4800000 +8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020KZM90000081^YdV0]L=8 +0000082e`dP00@61G@U@]Oo?cliM2E2 +0041PAA0080@000010000?ooool8@042>00002`000024<3K000009P0000000000030?`<000000810 +0000008@`=/000000000oaE0000@0000100000400008@083?000030000024<3K1000000P00006cQ1 +02Z3?`c<]D40:XBl4:7hLE1h;Je@HOQaD400@61 +5404P10000040000ooooo`Q01@8h0000;000008@`=/00000V000000000000<0o0`000000P4000000 +0Q30f`000000003o5D040100000400001@0000Q01P8h0000;000008@`=/00000V000000000000<0o +0`000000P40000000Q30f`000000003o24070c@0000X00000Q30f`<0000000006f@b@B[K8d93aJi0 +^77j@E;o?clYM2E20041PAE01`0@0000100000H00008@0P2>00002`000024<3K000009P000000000 +0030?`<0000008100000008@`=/000000000o`Q02@=d0000J000008@`=/:0000000003nB^47@BjE1 +K[CE@MGihD0gfQ92ZAXG@/_n=d:=S=a0PFaL@ZLJ5d;dlh12]I_L@3nfTd;c[1E2R4RV@Sa3gd1TOkQ2 +lJ`E@]1JbT9c7/]000410@410@410@615D09010000040000200000Q02P>X0000W000008@`=/@0000 +020004P;2T<0i]U0[K4<@`3VfD2Pe`i3;e8?@J3G3T>7^3U1X=L>@kYGl46Pe`i3LlD2@Zfa34KI@4UDnT84i]U000<30`430`<10`<30@<3PaA02X0@000010000?ooool8@0/2>00002`000024<3K +000009P0000000000030?`<0000008100000008@`=/000000000oaE02P0@0000100000/00008@0`2 +>00002`000024<3K000009P0000000000030?`<0000008100000008@`=/000000000o`Q03@000050000000000@0000 +500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000=000008000020000 +Bfhe_h1/=Ko_6Q53jc4/@P<0001;KSFoP6`e_h1U44>0K3FoBfhe_cUL:D8Q000020000680000<0000 +0@000240000800007P0001P00016000000000P0000`0000:00006`00010000000000 +000002<0000P0000`Z77@00000000000>6?7@;KGU4:YCHe0900002@00032XLM000000000000hHlM0 +]]ND@ZU=SD040000L`0000`0000000003@0001000016000000000580001`0@000@00010000070000 +00000000002l0P00000000L20R9C07T0L`1d06D0K@00000000000000000000000000000000000000 +00000000000000000000000000000000000WM/1@9gK@EbMfaNB/McSJ_003iZaghb0009WZ[7N?SYR` +b6l042P/7Ng3Yg7o_oooiCJ_02[KK5g00000=9]/GO@b;`E003^2fAf00P000009@0000`000010000 +AP0002P0000L0000AdA9@`80003oooooooooohl0000Y00000000024000080000HP0000`000010000 +8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 +00000080000U000030000000080U0000300000P0081F0000<0000?l100060000a@8000@100050000 +100400@0SP9I1Xh2F@H400@0100U0000300000L0080U000030000000080T000090000000P4400000 +00000000P440000000000080000R000030000?oooolj0000300000@0000Q0000200001h0000H0000 +AP000000002@0000:P0002@0000T00000020?@00000000000020?@00000000000P0005l0000h0000 +0P0003P000000000>000000000008P40600000000000000000000000000000009@0000`000020000 +9@0000`000050020EP0002`0003o0@0010000=/200060@00100000@0101I1P@0F@J>0P@0SP8U0000 +300000L0080U000030000000080T000090000000P440000000000000P440000000000080000R0000 +30000?oooolX000030000080000j0000300000X0000Q0000200001h0000H0000AP000000002@0000 +:P0002@0000T00000020?@00000000000020?@00000000000P0002D0000<00000000P2D0000<0000 +2000P5H0000`0000o`4006h0000f0`00W00000D0001T0A01I0640Gd7Q05m1a01I04@0BD0000<0000 +1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 +ooooocX0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m +000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 +000000000000000000000000000U000030000080000U0000300000D0081F0000;0000?l1001G0000 +C@<00;<000040000I04@0Gd7405m1h@1I0640BD0000<00001`00P2D0000<00000000P2@0000T0000 +0020@@00000000000020@@00000000000P000280000<0000ooooobP0000<00000P0003X0000<0000 +2P0003X0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m +000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 +000000000000000000000000000U000030000080000U0000300000D0081G0000A0000?l1000B0000 +eP8000@1000:0000JP530J@1J@140UD2f09W06X3E@8016L0UPA?0R/5J02l1Dl2B`IN02D0000<0000 +1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 +ooooobP0000<00000P0003X0000<00002P0002@0000T00000020?@00000000000020?@0000000000 +0P0002D0000<00000000P1<0000<00000P0003/0000800006`000100002I2000I@0005P0000X0000 +00000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00F00002P000000000 +00000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000:000000000000000 +ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X000000000000003ooooo +ooooo`<0001n1hP0X@MU0P0000`0000400008@0000P0000N0000600004H000000000T00002X0000T000090000000P3d00000 +00000000P3d0000000000080001O0000>0000080000h0000000003P000000000028101P000000000 +0000000000000000000002D0000<00000P0002D0000<00001@00P3/0000800006`000100002I2000 +I@0005P0000X000000000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00 +F00002P00000000000000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000 +:000000000000000ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X0000 +00000000003oooooooooo`<0001n1hP0X@MU0P0000`0000:0000>P0000`000040000 +8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 +00000080001O0000>0000080000h0000000003P000000000028101P0000000000000000000000000 +000002D0000<00000P0002D0000<00001@00P5L0000X0000K`800;00003K0P001P4000<0002j1Hl2 +0`Ke0ET6TP8U0000300000L0080U000030000000080T000090000000P440000000000000P4400000 +00000080000R000030000?oooolX000030000080000j0000300000X000160000500000P00017A4U3 +0`000280000<0000ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000 +ooooob80000<0000o_ooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o +0000P000080Z@000900001P00007N/I000000000003BOl=0WLZD@S^P0000000000/08/>P00S48000008D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00S4800000:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oLKR=@_Bi_d<4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000005h4003U0@0000000000001N1000 +i@4002@0000T00000020?`00000000000020?g6hSD;d^Km30P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400<]T +8>:l01iE/GLPh[`0_UFaM`T0000`/0l1jEFaMfcR_00`/0l1800000d0301Hh[`0U4Zk5E3R_0000000 +0000P000022LECAgGcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe +IRHQL@008@1V9R5aIRH00:cR_02fOS9eah@007SR_01P8^h;G>Bl00T00002000000000=9]/GO7Q1@0 +ah@4500010000?ooah@Doooooon`X`0011@406@000000000X2W^2kP;2P?Lh[`0k3LWMV0RkP_7Q0@D +2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 +30000000009D0000E00004L0000@0@00P@0009d100020000000000000000000000000040001<0000 +0000000000000000oooooooooom@0000<@0003/0000U0000300000h0080X000030000040000R0000 +30000?oooom60000c0000<000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000 +:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 +10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o +000000000000080o0_4QA3?4_d<4@00030000000000Q0000200001`000080000B`000400000`0000 +1@000200000100000@00010000000000000005h4003U0@0000000000001N1000i@4002@0000T0000 +0020?`00000000000020?`;a8D@ca;m30P0000`0000@000000000000000:00004000000000000000 +DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 +000000000030ib]10000000000000000000000000000000000000<3W:d400000L74H7_oooom`LAPN +E0000040001V9R5a000006HV8G70hK`0800000d0301Hh[`0U4Zk5E3R_00000000000P000042LECAg +GcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAeIRHQL@008@1V9R5a +IRH00:cR_02fOS9eZh0007SR_01P8^h;G>Bl00T00002000000000=9]/GN[P9l0Zh04W`0010000?oo +Zh2Ooooooon`X`0019l406@000000000X2W^2j0;2P?Lh[`0k3LWMV0RkP^[P0BO2@00000000040000 +I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 +E00008P2000A0@00`P8009h100020000000000000000000000000040001<00000000000000000000 +oooooooooom@0000Bl00T00002000000000=9]/GORQ6l0hX@4K`0010000?oohXA_oooooon`X`00 +16l406@000000000X2W^2`0<2P?Lh[`0k3LWMV0RkP_RQ0A_2@00000000040000I7H02000000U0000 +30000040000F0000300001P0000B000030000040000H000030000000009D0000E0000>H3000h0000 +5P@00000050000000000@0000 +5000 +\>"], "Graphics", + ImageSize->{214., 93.2513966480447}, + ImageMargins->{{63, 0}, {0, 0}}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], + +Cell["The name of the component is stored in ComponentName.", "Text", + ExpressionUUID -> "fc663f35-5dac-409c-a0ec-6281d6b5b63c"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { + 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { + 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, + 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { + 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, + 3.8036198831731386`*^9}, {3.8036202178951073`*^9, + 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, + 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, + 3.805630308114118*^9}, {3.805805751368019*^9, 3.805805758535627*^9}}, + ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\n", " \t", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], + ",", "\n", " \t", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], + ",", "\n", " \t", + RowBox[{"MechanicQnode", "[", + RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { + 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, + 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { + 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, + 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.8056491145840855`*^9, + 3.805649116927668*^9}, 3.805650388227715*^9, {3.805719215914028*^9, + 3.8057192224942408`*^9}, {3.805719918416616*^9, 3.805719925648157*^9}}, + ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + ExpressionUUID -> "4495269b-b1d4-4ebd-af99-f1c375c55315"], + +Cell[BoxData[ + RowBox[{"\t", + RowBox[{ + RowBox[{ + RowBox[{"p1e", " ", "=", " ", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", + RowBox[{ + RowBox[{"p2e", " ", "=", " ", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "qm2"}]}]}], ";"}], "\n", "\t", + RowBox[{ + RowBox[{"fLe", "=", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", + CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { + 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.804927507048891*^9, + 3.8049275130466986`*^9}, {3.8049275609992347`*^9, 3.8049275630291405`*^9}, { + 3.805719576982807*^9, 3.80571957928743*^9}}, + ExpressionUUID -> "d5ca4b5d-6b32-4f2a-a76e-9a3cedf163f1"], + +Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fg", " ", "=", " ", + RowBox[{ + RowBox[{"A1", " ", "p1e"}], " ", "-", " ", + RowBox[{"A2", " ", "p2e"}], "-", + RowBox[{ + RowBox[{"(", + RowBox[{"A1", "-", "A2"}], ")"}], "patm"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { + 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, + 3.803619931058714*^9}, 3.804927513997717*^9}, + ExpressionUUID -> "df1e64d9-2384-43c3-90cf-d959911109f0"], + +Cell["\<\ +Dry friction is modelled with a small linear region for low speeds for \ +numerical reasons\ +\>", "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, + 3.6326809028107214`*^9}, + ExpressionUUID -> "36e2dac7-1064-4be5-be73-60bd41e923f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Bf", "=", + RowBox[{"bfc", " ", + RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { + 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { + 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, + 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, + 3.6330608651106114`*^9}, + ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fre", "=", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"Bf", " ", "vL"}], ",", + RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, + 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, + 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, + 3.633061731221661*^9, 3.8057195804642153`*^9}, + ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"T0", "=", "1."}], ";"}]], "Input", + CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, + 3.6273207475017023`*^9, 3.803624094990635*^9}, + ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Differrential algebraic equations", "Subsection", + CellChangeTimes->{{3.5719031558017125`*^9, + 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ +663ef645837a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"rho1", " ", ":=", " ", + FractionBox["p1", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"rho2", " ", ":=", + FractionBox["p2", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"T2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", + CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, + 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}, { + 3.8056497325247784`*^9, 3.8056497363208623`*^9}}, + ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", "=", + RowBox[{"-", "qL2"}]}], ";"}]], "Input", + CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, + 3.8057195817349052`*^9}, + ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"q1e", "=", + RowBox[{"qm1", "/", "rho1"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"q2e", "=", + RowBox[{"qm2", "/", "rho2"}]}], ";"}]}], "Input", + CellChangeTimes->{ + 3.8049274368531656`*^9, {3.805649213945594*^9, 3.8056492142323008`*^9}}, + ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"cp", "=", + RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, + ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"mL", " ", + RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", + RowBox[{ + RowBox[{"(", + RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", + RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", + RowBox[{"(", + RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", + "\[IndentingNewLine]", + RowBox[{"qm1", " ", "\[Equal]", + RowBox[{"-", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", + RowBox[{"Cip", "*", + RowBox[{"(", + RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"A2", " ", "rho2", " ", "vL"}], " ", "+", " ", + RowBox[{"Cip", "*", + RowBox[{"(", + RowBox[{"p1", "-", "p2"}], ")"}]}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1", " ", "cp", " ", "T1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", " ", "T2"}]}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, + 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { + 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, + 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { + 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { + 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, + 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { + 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, + 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { + 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, + 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, + 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { + 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, + 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, + 3.8056491606455727`*^9, 3.8056491960410633`*^9, {3.805719582665945*^9, + 3.8057195875119467`*^9}}, + ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179141015143`*^9, + 3.8050179155584116`*^9}},ExpressionUUID->"7a00d647-ff13-455e-b6ed-\ +630874d7c8f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"fL", " ", "==", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { + 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, + 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { + 3.8049274406392603`*^9, 3.804927442192658*^9}, 3.8056491523531322`*^9, { + 3.8057195882741594`*^9, 3.8057195897156725`*^9}}, + ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], + +Cell["The vector of independent variables of the system are", "Text", + CellChangeTimes->{{3.524850810625*^9, + 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ +b44c06bce4a8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", "=", " ", + RowBox[{"{", + RowBox[{ + "vL", ",", "xL", ",", "qm1", ",", "qm2", ",", "dE1", ",", "dE2", ",", + "p1", ",", "p2", ",", "fL"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { + 3.8036206574574633`*^9, 3.803620685395481*^9}, {3.80362983059277*^9, + 3.8036298350652122`*^9}, {3.8049275428759294`*^9, 3.8049275439138584`*^9}, { + 3.804927576432316*^9, 3.8049275774153023`*^9}, {3.8057195907156405`*^9, + 3.805719592235074*^9}}, + ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], + +Cell["Limitations", "Text", + CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, + 3.8036206934694366`*^9, {3.8036208660567694`*^9, + 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ +08c613090723"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"variable2Limits", "=", + RowBox[{"{", + RowBox[{"{", + RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, + 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { + 3.805719593856402*^9, 3.8057195942719727`*^9}}, + ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,400,139, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901019286823`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,400,140, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901019716377`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticPistonMass\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,400,141,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901020415654`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,400,142,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901020785265`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 400,143,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102107497*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,400,144,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102151452*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,400,145,16369274701888019615, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901021804223`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,400,146,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102208393*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,400,147,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901022363644`*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 400,148,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.80579010227932*^9}}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,400,149,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, + 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, + 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, + 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901023082905`*^9}}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{680, 669}, +WindowMargins->{{123, Automatic}, {136, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 511, 11, 88, "Section", + Evaluatable->False], +Cell[1093, 35, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1451, 43, 505, 12, 30, "Input"], +Cell[1959, 57, 829, 16, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2791, 75, 1948, 39, 164, "Input"], +Cell[CellGroupData[{ +Cell[4764, 118, 98, 0, 49, "Subsection"], +Cell[4865, 120, 347, 7, 49, "Text"], +Cell[5215, 129, 12927, 162, 102, "Graphics"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18179, 296, 96, 0, 49, "Subsection"], +Cell[18278, 298, 129, 1, 30, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18444, 304, 101, 0, 49, "Subsection"], +Cell[18548, 306, 3777, 84, 373, "Input"], +Cell[22328, 392, 1219, 25, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[23584, 422, 104, 1, 49, "Subsection"], +Cell[23691, 425, 781, 19, 69, "Input"], +Cell[24475, 446, 97, 0, 30, "Text"], +Cell[24575, 448, 501, 12, 30, "Input"], +Cell[25079, 462, 322, 7, 30, "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[25404, 471, 502, 10, 30, "Input"], +Cell[25909, 483, 567, 12, 30, "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[26479, 497, 244, 5, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26760, 507, 183, 3, 49, "Subsection"], +Cell[26946, 512, 627, 16, 94, "Input"], +Cell[27576, 530, 243, 6, 30, "Input"], +Cell[27822, 538, 353, 9, 50, "Input"], +Cell[28178, 549, 220, 5, 30, "Input"], +Cell[28401, 556, 2701, 57, 164, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[31139, 618, 162, 3, 49, "Subsection"], +Cell[31304, 623, 1049, 24, 107, "Input"], +Cell[32356, 649, 192, 3, 30, "Text"], +Cell[32551, 654, 601, 12, 30, "Input"], +Cell[33155, 668, 230, 4, 30, "Text"], +Cell[33388, 674, 436, 10, 30, "Input"], +Cell[CellGroupData[{ +Cell[33849, 688, 122, 2, 30, "Input"], +Cell[33974, 692, 655, 12, 21, "Message"], +Cell[34632, 706, 655, 12, 21, "Message"], +Cell[35290, 720, 6639, 97, 113, "Message"], +Cell[41932, 819, 543, 10, 21, "Message"], +Cell[42478, 831, 683, 12, 21, "Message"], +Cell[43164, 845, 541, 10, 21, "Message"], +Cell[43708, 857, 685, 13, 21, "Message"], +Cell[44396, 872, 541, 10, 21, "Message"], +Cell[44940, 884, 615, 11, 21, "Message"], +Cell[45558, 897, 682, 12, 21, "Message"], +Cell[46243, 911, 618, 11, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPistonMass.pdf b/devPneumatic/PneumaticPistonMass.pdf new file mode 100644 index 0000000000000000000000000000000000000000..61c32b7112f93c62ad6fd6cc0d39bb37896bc3c6 GIT binary patch literal 84382 zcmce-W0WM_wl!R~yKLLGZFbqVZChQoZM(XZ&db^)!}Vk-!LjpL%fIzo_RptS69lbG!0g2R;WHJ%-!rh;#6Dc(mq;WFD+Rj zy^;PYlbKN8ExIB0f$K4I{j|3JJ0|*kZ_rD>5NhX}-#6)aORi;m`C0~9RV7Ocf`EV| z{mtQg@80SJ?RQ`R!TkWvA^BeuDbMW=g}WJ}~C@nS+c;~*rI0nDowfaFPU zw>Go&=V#PaS`l5?h)oRCSF7>Ebo2;VgFMR*7uq8he_jCMHKOb>geQL}ypd~9PQ(86oUY67+Ecdp-d0RoA#Lpy@Z5MxH6f0j zs4P2-Ub2s)~iRQb#>bn~Pg--Px)G&|ih#{*rX9l#SD1vJ|; zusH&-d)%{(JxEPZlg^THH;SLyb>36i8Gs)|Nq4;)5jWxls#o|7+hl1cWp!9`$#S6L z(YzDGZ+XdN@pKONOT%L~-Shkov_yRTTOQ-3~^$kCm)Fy+tMAnhGx=26gG!XwY@ z&#Tg75T#wA?s5o`U2k~&c=%cyYNMQFnS|HZ;^HiH7TZZF$|4dwe?KXPZt{I<;K^fk zF=0Zt89F{~7z&N(_He4epC7SZ6h@UQO?)_N^+a^=1UEejctYw0A9}@Du`2zFO@d^P zw#a_Yl_vSDbX;XsefzPDe4yBkh2eDTEAhnJ%rSf9z8d42A_-m|-RPx}jH4xgo`egu zA~rZZnyUFz*Nn=n;iG+fB^hI3`bB&wi_r%;nB0@=1LuHIgSaEP3A~0@rTR=kTclRV zTFUpEECe=l2Bi?T)myhv=3(ll7;PUm2VDQ=ap7hS#6Z5-L?r^+t~>>lkLwZ>nU z1;rs8c4c;AzH3YkTl3^=zC=CbYS17fThziaxXOwG?edAxiRDP5v)e4#vNe`V;XFQk5|_ zGS?Thb;H;E4gJoJgB72hnGs+6uV|s)1^f>IRBN!pUQ=PM+qCdm>U`^iV6M+`L7vOG*8~v6VMtYXN z0>q8YP0gHs&%<9wLbg`64oY_VhQH_W9~p}|=>Js}oy70yaj>)fqeuTNj!w|r$x+_e zLCDtH&erD7WV8R9N?oK&nSB#L_xs}3kc^b1+sz9#5I~j^IWHsZB3C=cJr&@Nke{F+ zM2%>T|4v+LMYjta0N#b3h)ax)U?c~1#sH2|fU9*~zubqb{5l=OCBf=_VYPhnp1_(# zr~kNR%+@z_K5p}gA^0624Z%pyZPgST4)&!#Ru0+}S(j7^eygv-W1WGZyF65q6iPBA z7Kb1~x{_psX2U5>_-(m=-=aE(^jjtivpU!=@D>~PyMy0c@e0k{3(@xW5^FbC)d*ww zoqtL8jwL2ZpO{|G2w1iU&7g`BfdjaRR=;|^|EXSs2>CM!W^5SLs^b(`!iAM^3N4K?wF;+F9^u&@@ zFoo_sFsk%4lN30ANUx26_i})rWvAa`$qY&WqD!Y(KX3{iSRD$5Sn;LFYsi^YBkhj7 zS0!d7*QFWOe_3Wnt$js?xG}bD%`%FUy6{{FF#E!7e|K&aN_c6oHA|yclnE3-d*74J zY)T)$>Kci$1yMNU?Sbw+W{QJu?b#k@^<;d~bBPtbHbV6b1$#wB4bUV-?Ra-LpNKDl zPkBa?Q8uZ20%?=tsWr;xp9xCC5Z%RQ?dBM8w+t9pBL6WE=zVu5&NvntOPvsZdD#~C zlBOZ+=ZAL++6V8OiQvczb{)2Snv0);^-4>3@Co|IoqjFF8BoKRKP@Z?6BB7LwtgockYH;y3gBvxgi|*R-9JMDTg4QF|ES z2(^0J)xH7}p|lI~3y=(VV=scYF(?UHwzp1+oPN17U2G|=+aN7QESEp;8uwzln>ep* zYld*q9?EliZN&Xm-61sBOF&&OHCBIRmyLIH75KW+4*>A2Mz8Bp}FKcrNH*XjTc)5-Vy*koIBe#NckIP#K0=EocZZ7L0%?V}dH3obh6D$KcJ3=_qOy07;Qk z#-q9Ems1`d7=|++TcV##XE;q9c2U%=$~zMnZ`@ejSO2v(Z_KwEB-`vaiK`ur2BXA}=t`i~wOp*<0^Sk%+ijCB$WKEXG#Y2wR#X+<`S@%=ZI;Zxl zfZvnJsj)T16~lvfXc5iCO!46(=Cz37MhSh!?rbMMY>B(t_4v#iD{DE1sAtp%r!9SV z%m*`k*9XVvzD-2eRI?p-s?%86SVrYi)eiIhUT3Bb*uj;-$;6|HK7CiL2JBUz#FJ26RbNLHOZy+it9=U8ZM&nvUpvC?6hs-{(m#qTl$9D*7uIu6##tpm{ zUtxVOxfuLyYs)vIW2XsZlMZx~PogU)Es`Zt3xVl& z2cGTT+OD4M3CVD;tyb8*A!BGIig%u;@%bBaN}&M2b$VOrwQj zB#%BVR3@?)ADJI*3B|ikzzcF!)TY)La=S2qcf>91Rcxr|I;rCuiFnaA=2r{nE)iDn z!>ri*T|e(fBVGB?t(~%pvA;7$2!Z-xC}@XW8eHPI_Po*h!Y!#aEFRc892A_JCchzS zfDQlbzQKHj9YqO+l2&o8zt;W{ESPRL0#OnyU6Mo(X)Tg}Oub$2IzJlYVIs-3hA0N{ zb~Pzua;Uq^VglDxL-bmx)-)0u1pBKOOkbY`bupSG?1wD9@xw9bHi^1(Jp@A zjJv|W+KZ6%ZSwlYdVY9ofo@$_S+W&OTCicwSsb1)rS8b(NzR&9*AT~Bd!9U0%;3i*dvbeR z7z!Q}j%<6A3q#XVAc6j3hpT+TJ`rbgV8vj_fW*-#z zbT;}}%Cr)de~FyeUsW@XjN5F^72;X~BT0Gj*o3=n88^6AWFzR}$}+H4$Q{T@v%2vx zMi23hOsh{&SkaRDmQsc$i#i^U>;A&WZ~2N$tCMJOq^YXk{Eww+B~LOULm76 zY!6}IV2Dp~nUUEz!;GT8u3j?)>KdUM0)#4|sGnSn637_yUPb)CDnuL-p+Nwsq<|rl zK^5%6S~X|T76z@DVHwICf@3eiBtX}IfEh9_z0rAWkd=J0QdzBHM13|lo}F!pqM_uX za5XpZQvg>?em?pm9_-d5VMTS)A+sSm32N{Q=9kq_I{e{ zHgR_G_}6g+*vxzra(4SBC*`_EcSOvJk3Y`Tzg5K7Tb7 z|F69d!#@nye|tK{|Msf?Tp45hZ&&u8%+J5JH500uf0o94mTI;OI#npIkU9qW*FgJ1 zkdImQ;aT3dmlewif1r$wXd%B{aTS`c){_r0(Cg9fig#v?J!Qp)`asxGPhZ+Phw4nx zw_652spIbomkLV;?d<6ghpS7@3g-$Bqbnt<{5m7-MHB@w7D4#bkON7WV^b|Sx3tRw zT|NgN(^DLfCI|C;i1UAK7!QxomZ3E7^Y7w-uSjxYcN2k}G%dDBB$fIjGortT63+Sb-Xw$YiB7izxpXujVw zGdX+DU>O=dQsr`EfE==>y3-s;0@xhYwVRnmFP;s6M@d=6M<;)W${GhtBUrr9WFgLd zf3EMq#80X;FOZt6?nDtpTsKW(FY!j%+LFSnbU6G6vLRo-8@!My*4`-mF|n6eGfT&7 zeWP3-b0lE;!+7ZIPbsuj_|4p0b}%)YVR?o(^+jIH)1zmO>?|)phf~KjA6(Qv=Xl_ zovN97ZoSUF44m!*CXauBY0Hy)1=(V)4HX)5AoNU8J*sfQ#gg-@gSMq3BgXWDZpX8C z)M>}yLUPv?Zpe7oAoc1pnPdJM1G~q?x3J+!!H<0y*` zm7Kwhddj7@xidl=H$g-0o@fsawpHv4$A$_@3qjt2=#cA<*vx36qqySw=33kGmBGMA zfb|pslH8~_YO_-IZU9PpGIjWJ__6Y~u`?!{D-rjcr(~H2af5e~usLQ@ialz9vbTfu zbA}J)qgWK=>35}->Xe5e^|ir=3v$BD(Ba&Z+m}7G!1*mekyq9`mQ-ndfCA7&+Sf1; zV|;rsn{Cr#{)J!sP~!QX_om>f$cm~+mslRdUB@zz#ggTLZbf6T1Wu`0daXHGb`@y{ zdr#ZCd6fxn|64NtqK&^LgPxK8Z^>Z%?`5O^Ym)JQRUiI?{`|WX{8{cXq4`ge@$b^| zn;HLwS^w2A{@;;|zsUOkwPgHt`~G#kjPdW*;9s0D<3A<$KRV$*6ZnsnH3obpCRXNu zU%A@va`!_XSmD!A@t(N9mv)`yg@tx^bsEtbWaX3^xc`-4qBLPjB(jen05L+YFrU^oIyvqSb0L z8<;kImk3He7aoq+XncPSE<+iWZ|#$^lNs0rbv*j=*1BT|s?LBJ0;3B7zSLOb)Az+X zPodVSv+1kwwT}((CXa1TsmWwRTZxGhHT&>d=4&*#3{f!%_eK-kith9AT1W@2$X@q; zRa$04P%KBxOG4QOZ%UdTrVWq_S7dYVzsC3H8z4~MmD5MA5AUVu#UTug!{G}6&(%}p z+FG7tSKwM=&nrP>0j$yvTFCVm@rc)fqKa~JVwl8fGlMt=intToewf*VxZ&vq+!q$$ z#&;HTC`Q!GrMvrKzsi2Ku)3hLnb)tJ0u36#5CB=4Mi&pvQGc&$ zhepQAnXzHq9GG@@n7w1sJR(b$ray-bXCG3<N zE^()8X$W7Lm-W4+Ug+Co4;0JHqXV0A16W^GDa-7RVtd=F_n01<7Zow&6aZ6(lD zibTCN+suz9n0WjJ2cE_-(%siRmtBun=WE7inG)AE-96g9@+tf{E#Wyxi?+(pizLV1 zF^n^gJ+hfspVomvq=4YAo+t_0&-d$UU+Eq3lb8;7XX+N@#{LuJ{Km`mu!43}i`%%! zZwwS!4kIGP9L0^!n2P<00@*;gJ<h9O1j8Jne`XbSfdN>bj;aH{` zQ_-my@nX~6-NXQb?%3SsD`1!BQ!AibK*>N&Kwd!Mz=vCu(l;{R>xa?7Y+w=QsR|&z z@E7WW#PAuoncKr+rJ6m19K%)W2Xruradv%jwzDv&=!D+*t$>a}iwn$?-85oGU9>ad zX~I0!?I@_^<^y8~=h8?ChLEYL3enZ%wbLUrFDc`MyeB#e*?Sn1%ho`d-&YCxynf!F zLvWonBD7&jBwt=yB}-E7_;}{Sl2O`|cr$mwB9x>x8-sMoke~p2l#B*`FL7m64N=#Q z7^ON}wTPLID^8zaDHQEPPr?6AQOLl8&DP;Rt_M;@K=L>vIVjW2@;-5cq*8EIQ;(*w z*VriuIwwVy-)=^u9K0!ql6J~?Z_@NE6qGSdEMJ%>;4Bm%fexgpD#xCZL|wj_fN8ZP zJ+GlkCc~gDv+&ubbHmjD#xfHiWBOg`K-QSuUGhvHD^BMbSOCrsA+~*!e)Me!DWIiX zdTBjfY_H$Ilsn)YMG*x0Lm%a?*Cw6{QD6YF#Ndof%ub|D8#TcT1jParF)EigTBD$? z_x>hnMAN1X^uS`SJ^eIdaTB;vzCR9e5HzN~J^;{*O|{GR1wf1(`w<18%d<@`pGZl@ z*;+}_79eXzUR#P~7~$v7?MV2np?Vi1$Cq2(wA2Io#| z^?~tgiqSSJMwz=Nu4MsCKdhs?r862OSE(=J+=vH?vJ@pb3A5q=oQ!!*g#v{+k{R(4 zbX{f$1oI2PjAcdTb&|+$bG2v`_IGlvXu=b6}R&>x?1_L&w^7nz%1qw76cb>`8p@&-N0;>fWYc zwB<@pF1gy=yz7Eg(f^haHJN!hreA5Fk1#pCxpoFU+j65;1G?+Js@8K4&9#%fALo$f z)>fr%RY!xAvTWtNO8-Rf>undsI>|H1N6N05YMoQw)UNrV6i5|>^7yg}^#t|xzU^8! zMGG}q(RR}7^kQMm(Za8WPp7)ipO|uA+P4FGyaLVE5&g=A2R>A`(cIZ7vK-s8T@#W#6E6VZf_efUTw{JgH2oXYmOPJ@Rq#LV?K? z^Z8tm`J-i!-yAPyF&05WkKY?m;`uj?%F$jT$ST$ zk6lM)Q+9!xpD9BLwcV+AM+Fkd@A;>5>#>cjc1m*_`=pFlX0l$!r_Fz|qhC8BHz3W+ z+D~`eyP4PYeEx(1zaR;fegS!$%5aJ5E5*@DvDbTcl!j4^fmnjAmI9pu8!6wO)T4AG z9tP)7JiF6`*==!(-#S(Br7&TQuFhbUQC(agAyn+A3_&Lp=`=o;?*@yYciF)Jo+;_b z<220+R>02UC;N4nfj&Liaws6Dw3KOS)TeK$EA0_dMqt6q%91sMRlA0L_nvQ)VqH({ znE$;vvKr#MF&oZ^o>6%xXiK$d?hs+f2F05(wL?Hh23D(Qn;x8`49vu0z$*hd-cLEX zW9LJNLR;_CcKFro%*qk%q%m6EH*DR<>1u`w()soIhGeTYmw~W1-v!68o3TE z^L3*Tck3j$1_nrkH*;541V)S3@elftOg0(8j4{XwiBi;(Ab=nR0g3?`Iq34<6+}|j zj=o?k7y35gL1aurP_wPBC@f|p1BOLBUG>8wk-2w}(m3wH?|x6Q*fX-3?1J`!jF5t& z2Q;$;vyvFWikXk;!;9FOcUCn04Wc(Gq5+CQX?56G91wwAF2U8tBoztW2B%Q8&!gmp z%4vQ{t>@KBE0Xf;LE3Oe4f=$0XeF+OARQwDKqj2C;tf0Ft78U>YOJ=A^xi3s3rD5p zW>ywf%(}%3URaM)AS8%}-w4YmqzGAky6Q#TfzuV+1lt4;UT=yfDVL-#EquBh11&4& z4)Fu3esL_bgh%a(N`+VlI2KCzq;mK2kn@;%W_!vaZ3sKJfkE|CLG*)-+T`j1&lXFo zlqjA{Td{K4bMF5T+K35PDk)ANIwT-lGyUXk3M+K#kG>oKSvWh*iK?@p9PcI(pN&siX2z zeP%3F6V7y&zEwv_x%D=UJp@NO;*5J)GY;~i50%w+NU!A}9>K7pwx)vaB9*;5C#e_s z#MN!!qCXU90h|v^>Lqc!cccfZ)N?zCUIW@PQ|7IAfG(QVW(Uy=Ao4acJ71 zWRp+(j!K86)?6WN=64ggvsQmO-a#54$elG|9C+;BCvhX&7Y|n70LTVX3M*!dTdS^! zMh=Urswt%1#L}x`S{JverR|``P5VQzPJ%dp$-&m0=1Sp_7dTx6&DuvHkB$uNWGo!Y znGI8s4n75xKA!7FwJS>9~yx@RQwa;u45e6h*2P{3m>rn06vVnxfk2WlF zLemgbH3Pkf89bH=J?zBM(1i2ldbuAdM~ zF)Pg{uK~)}tKVF0JnidE;F0knz^Xag9b6_NNFsA6samZEm+`h3Zj!@wQkb+9DRtMr zW|J3wEx1NA9qMrC^{qg=YH=d_$|EjNk}B(Nx;zw0{gfJ7>Z@%Je#Nij=tdeN8&d~~ zr_LcpAj(w#x%u-p^--5Yt{~SaD}aALLI)tbS<6q|!Ve=Qi zqvp)iI;rG@wZQl~Sf7=pGG|kJYpu{SiJca<-c*+vnIu6sCWaZ~D?*k?02ds%D}D@$ zX>UNl3g8EmCI8p@Em;m5Gg$L-PgM5qmh}nCl7;}_)h3LIn59-D{?GqAWhzsgG5ot|QciQl9(l80)HV#4J8x$P?X7YN;<#QLt zz}KI;^&fT&Rbo^JdObFzqG#q-25@KM;7I5eq53hVFvIU*>hslT{u`=i9nf1Jo1P~m zvx(rJ51YU+N)y9gy=ahA`RMU#IiA$|&YD4Db(JQO*J_JlSYf=aksh6yjfnR1Btu@^ zr5zdAAX2GEh6*LnR;Bn0g^g{2#dwfm7En1cDoh<9LA6JvF37n`{iTi>vbfE-Xx-hp zUE2avj@daBSCqbC%jem-6^!HVMmcMH?sG*R+PF1R&MpZhu<+iEJF6#zv?&(PcFmY? z%D6wRd#GIZa`Wb(P8=JPR!J{(qL)~ua=oSwUT{2UASg`LPA6tpa}_|!>B9Uy1Bk_0 z@Tzp|#MZqbmWWXJ07ybFT`qosU(0XXZ?ll&f%6iZiRrU-|J#Jff|BP%Y` zD4W@u^N45?pgNBHei7wjQDM!m*ebyl;RMwy!%p8Y#w(A0%pS)P-a0P9ohSfSo~BXn zWl9bql7)+ACbmfiOm(h)c~_>8Z7()o)~=2%bRct?TOQsXk?K-D>585vIij>rwJV(< zm+xUYSkWz(ytVpp`&iMe+Gz*xUSqmdxOT-AV10JU`y>j#S=qGZd|xK!Dra$<@a03% z<>T`DZtG*eb(s*g#0yeuC%_(HbZ*c|`h?k_F4$a2XoOhL5`mvUACb<{SGGj6#}@B7 zLd5z>g1Z(^jxY&Fp1RFuYyvRSn1TR}1t?gX>$wQ)moHtbrEbn=8I+1RFc@E1!dM9r zqQsIE8M!IdWB&^w48Z}rC;AyqSUakubY~t*StEG#!BLo8@;IM-q0diViqFb08(#na4l zxoo397h`?aD$mN20XEGRDD8=v^mg}q{Y0J2N0C&mR17}G9>!G%BQquA2GbfF7c)z} zw8mlTk@}@3szs!hTsKv<>w2yY3SKhqybp#~PA66O*>fP~q)J(=6WDDbQyf{Af0GMo zmP^!mde$=FPRzO46I0Z-BgnikBfo#L^rb#2w zV`PUzH`<{iM^2;gszaln{?^{Kmvq;m#u2~%w$DzmU+dTFf?co85=jAgVW`Zr12YdG z&0iJ2ke4T5s&br5r?b|ig$xOnZ^+T(e`;jy+zcAwr1q?j7V2O-9sD+V$HV7_d&)$2 z7k=%34d;*tkv)0JL|bW4bNC<%6b~_F*|~&hC;W^CyhtT!N)VX zw}i<#ZCN8v=y}HSAHFp$X6|NP%h+35YvY{QwWj5)>mLd7pX*H8yCVffSh%%JNj(eO zLt^9;pl{uC0s#db?pV8BYr37scFcOhN#Hoc)(=9GvUvp+7XP%o zva%Djsa{P3Z5u)M>JaP_v|)m-zDMGlv&t-BTQ;c7??;#bQQd)I5MYa$ml|(ew_aw5 zCuR<&YqA&*vZdN_&)U5P3SXP{KeH!0z_nS8SG(54`+}b^@R$kvrRYtD#5u6)ChQlh zEhlq_h$ih6-DjLdy=<1vuhG$fTf~5Kbd-ZQ}@1fV|3T9CxBN;cEq|>h2e|ZNU$vzQ0iS5J^ zn)Z$A5Ani>kEF{WZ$*W4&6q8t!aAld_bN#VD^$W+p`2ldq zG4EqT*s+dT0^17hDdGFU|In1jHg_w{JN8T;#;*TiMaa#;FDXyZ%?3Sy0b@HqnI;(o zr;8k_)RBYnrKt`4gVt}G9WMauF${G9sxg)Hlh_e8aZkc1unGs&5*cq5$ZN43Y|vq~ zX)=tMLn0~~O!$U##qAh{8lrkBeYs;^Rhc#D71ZH61Ju&IQ6zv*r=2|rMAG;E7;TEr zVXrE7=Oequ=kD=kEXVVrY^5$m7k7sJYIs77PowqRGq%Yy=I7JN7?Upd{e5#=AUYkZ zDevJ&Po#twFFX&Ypa3d4v?!vKs5s@k%UMcXR(bxQQCkij>Ve@$z964zZyCsMhqO1& z93y2+O#~2;qM~#z_PZU}U5AyCp@&fKeRX&TV}YX-eVJ-e7X@B(#Li>={OqZGqmRf$y){SI=VES)v0 zT=XqX0^lPvPmlhTsY_N+2MItgIz7bp5Kummop`I4=?>6uh`3!e_c^@-3Qw)sd`XFI zA?B$a$Fie^TKo62dn)%QR9Kr@&32zvT(c!xALd|Ns9r{vr;E{Y9(ZI}HtDWs7cE0i z?*=oMFOIla2%ZnwL?^yp(sc{1 z-z-@)QBlno{mPB4wd5MU6Jn4gIR`5yFiY$bkAcKXPesOC75^f}oHl`=9tFUNB$QGJ z=}@bWMUF6b)OX09*au;?=w(2coNCya7nGY%N^<67eyp?^Cp@Xdkjl!jBoqY{Oqii; z#JJ$^?V+{@$>R4rcb|ZVF=J1$6vrw>gfAKC4BheFBoITl9bKWX@6exg)u>4Duy#JP zhzJ6vPOi)#AE!cL5FHRP9;X@gKH^_EdizTL1oHfP<~r|1lN;-}N^R*n@@5plSoJy@ zM6+|;7SnD;a8&z+a>7^iRW#s=qZWm?%xH1bFdV@YY1|VCX+tu`(}w4M+pc<6KF6VJ_=DK>YDN+oi4ERKsaS#am5pXuI675n|pOv5*F@z%^0x9Vsnn_D_9 zmTtqnF&j>7C*&2N-W4cnk7qk615~?EIJb`lNlhn)1Df zKO_k?X)l2cuR?@t;w3dnkw5>kN;~kNQ#Mr2Wc`8@m@)wj~V6cV}?~PJXh?@W~|8`xJpuPv~RR zGo9Hn++HDA;b0gH_{hh&Ed?Z)f_|RcA?eYR))~)Hr|EmH2Pd6uGdc9v_VgSbflryjcMj67#&*9m5!n-sf_Hqr+AJio%(^8!{YQ(|LbSIiSCF!GMKFk5lXie3YeXV*%(cue46*jzaIOTa$0N^B{(U-w0W=YGqa>MQxty^N8vev-46Jff8F?5BP4P+ADV2o?EHZ_4>1s;ratU&$o>w8)M#* zsuL0~#OrFTf$J-DT8$F3k0z-md(16lxd93N&YU0Qr8f)6QPgTETZk>N&@ho&7_E%6 z1|1q{IH@@57MjJ>Gv7gyMPmB59(@qr@!ws}6Q7jNjkv!(kv$hC-!I(tHP*c+{r+i( zXlM(1HeJXSkUByU^dhz$dl=<3K^AS)Fj5{4SS&+`gv_XNBxIe`Hu;5pEIWd!L!h{9 z1g_lZK+omN@(_7cj+?=IgmK}DQc6HQl&7iiQFE5D;gxy*oL1x*Vvy@vHnZ21K{qVp znize@e2_<}Je5LaJdx5QAWU5xeGZ0lFt(B0kybC69Dp;%!KC!Mo#U*-)pOcbK^ zWwh0cd?m8IkcesK$+5|t=oJK}q#CYv3^lr{Jz~6%9a5!ATOCHdsnAvL zzm4omepr0qW);v4?cWr#L?09yyJfMQ2a7msH0EX=e$QcfL`j~%$v1ckL-ZV`xei0a zaS0teT#O67lT^^`SJ~@4EC2Lpw)->jF|?AJay$XzN(zLWZ^XU1}b9q<@OL#rDbOzVg#Y zyg-3(-Q3ToeI}oD}ak%RMWSVVOFvqrvRk>Vn4Hp9HvcjCE6fektAuF z7g>mq+Rap>05!bOHiS^YkX4MJO1rc(s1ZxV@kq;@FS%1XSb25uF4(LdYae%nn7gFs zDsCy$OiNSF;s*D1(&ZBIHMxa&7lEN8gAh(6{zW^+8k#?xUR|+~W}gM*Fx0`MiVkhO zfbx|_yR!S^(uE9kgbLyZ^lRJv$t`CVZANvu#L8jtSUi7j^)NIMGohNp9jl6}mh5+) z79|BMRtZ9oNSma|#e}XS7BU-0MYmsoY<#A}Hxi6G6t+LY*JVu5A0;?-%4}!DWuLIq z{nmn1OuDgrY~XpXIDW=q#O6UBX=n!WR8{QIVV?rN8uBMGH&jui?3s9ssU3@$o>hIj z{kHjP<44uf-dONM%CZo;=!B70g?(bw?aW~?iJc>n1G4W`BJS&(wplKwtE(yS=J-!m zS{1e`HlfL6ju`^j{&TmPM*FhW_j?Y_L!(e+Ho5kR&W_ClyQeOTOkRZXtZyAf{`U+W zGx82SUS5~sZDYVMDQ9U3Sq_=8M5yh+o@vI%ZH!mv&TP4qYW(0%Zf24?ku00U6WEf; z=}WF5L%y%7L6$uJzl6AJLr`Sx4zO`kc-^*xNxL6|Kjh|h+g(-L&$gjIe5O(!-nSD! zN!yx_c3NWMgV8q0u%5KIvl{~2=6V73a&^<~A$ydN0l=y}PrZ&%e#!cd=G@%*>^9W~ zF9qc2SXSQDGoM-267q?>@)c{Xb;mngOi8tw5I{4}JWZVVu7Fr#HnFE{#kMWm5dlDV z<*{|FlC&2prj!cT&J}A6qD#(#1Ptqdo8ijJ{~A2ipcSXC2@Qausv8Eucp+6;nh;z3 z$yj~XZk%vsgA8}?!f+>_WC{wfxJE=*I;Lm(}uj>?b{Vicgbw>@Y2}55AUr)ixsw zChA0M^Y|twypClnD<&8-Cag8@l^I)0tDfhh#mxNjmnaNBV<<@TpX;Xv7%f$nc9uqX zELy*GoShs4@6H#zG*N1KoFfI9HgD#yNn})gO`nJ3Q@n<-_QtZcykBaMM(HdqH0SQ% zBJX}#K#Zky9Bi4MA1ZEk8~a?c9qt@P_>5Jq*^XCFbe#R1DB4(}uKjI&n0`NG%p_D@ zy}1sDZDbQU0mE5)V;AuC@2ZHwZky zwFECqU7xH6*L^uK;0i^R(Zx&X^^f!c8Q8Cc|K6bAH7#j7{O2-%%sE5thV-=%z?gcKI_ONj@)a4`h zwR|zCEkvKA7ySG9Bcdxb|DU0}ladXZrrB}`dhf9ar_r>wR#|h#GV9>(Uwz(B-)S*4=rN&9?O>RuQd8;*a zyFSk_=iY1OgF2bmJAMd1a7udAR%V`~!Q>~XVpg!3YiiAu zeujIpZHC?-cXH1j;g5~zNSaWXF4<7FxY45sP>;CzTFC>y9(WhUWOE!)km2LHG3#n$ z=~>&}K=wK7e3s+>IS4CfnqjK|~O_DDe#c6L_R|53r_`}+F!lhY!m23)TR1xE-Q zvzMJ#98(|$^C&mT?AvPabC$db*%agV$(H790cxf4Z?B7kq+Uw2)in<|?1Qt4x##>r z&%n%h;NYn~h*jKBBZR_Kc&e|uclIKG?QiX2RU7yXxW(dRkU%##Wfolq-N#)GJLRGb z6({uJj(ONKv|ZCplIQdpGeq7<9034s(5SK=^GPm}-}`W^J@H1y%B<%nf6Y3UKNv=n zAf{mmzl=0$50g3s8PhuSH#V5l&B9>n#>;Y_0Cn@=AZF72e1G^Vxcy1um`+#d7|j2< zQORc0ACR96@z9GdU`8p8@}swR*UZ|bTIH+0dxAsBloLd$l0icUKS6)~@~xsspBjh+ z*~c4{LhwZk`?)Cg?rF@KnsBmvs5b%$zK9)CFj2SiE2I8g@5M7l&xLo^eX$wN@-)BC zp_;uEc8D~;&Iz7X#2RNYoP~I;ev-KhwXI4SYcqny7^RuRvog5>Bx?+;KyX5ff?(@1 zT0(P%d5orDzs-2vd!13&dyeLtkqt)8NpiUMBAa~DQL_G!EW^lDR=q(fY1rvm=CAt0 z+d7D{v0stJ?~zD#{7T98NTfCqh&drh0|%LG(^Ma=UyjGHuOd&V-eGng4IJjJ6&4Ez~m96ZDDp zjkbBcq5DnSm197{d+B(5Z(`8mI$Qv;Y-lC<(UTK7{Y3|n?A%@|;(6-yQ~1<9HWLA7F) zDus{#0KFYcGACPM z+>gqld1gN3YQaAU>#`mlmV~$wqc%@%(?`@-%Q3(rOJ=`VGcpliD(^A$%M0HXk-e zb7ldR9_k9Rk1c}_lzH1i1Im{+sgw$OtfUnd22Dd%G}R**sIKdn-CVU><)-y2H(u zz}6R$dF`;?_2XpDS5Z2031(>iMiBwxnLU6@-q%#n#J1o&dwI^ha8{9DAP1ML%rSAu zQ2Kcth&TA5D8XV|o}G_)pOCoklg8SMn9y6@d0;CxbKb&Q9nE3Sv7$Gd`>FLAk3(-Q z^jp<6Sr*ULi8NN0_hS(3;3{=oQ(^EiYr!8xc6Vi zmG5JHoVa?6<2@_nKAi?$fg|RFX2l##^xpzh0==@i_C2~yp*gA2e@w-G!OIm9*Kew- z=-S^!W~Ma26L;h0`s}s^Nq1+&WmI%(euwUHcFhJ{3JSUe=fLz?!ZqgUx!Uv$W+at! z*hGH~ET~4o_gxV=%oj#@;px%uvc<) zjsW;
  • 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

    A$3JAN@5T=gDUXw;I8?T0~ZZKK#!0y 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

    tXk^3NB~C7GYC#+#H|1TCp;X(BDD#+c*H z@Q<>1{*F1qWQjAI(4I_9o!KcFvV$p=9FQN5Waxh>32CoE^hi zuDPB@6%tG9#HC2XKIbgY>32nHk{8EhbOuOKE``rgNQZAppM|3_opCN_UnXg~m?V^^ zu_*M%L4Aq!^5(2R=@u#sk-vDuJe4;`MA~-M%zXaIu1VxtF0z}!f^M+lTn$EhBTU&> z=nATszu=y2DV1kMs@92RM3M5BMTZmRo%U3z4M4jT6xi?aRR#KcE z|GWeRmyUknG&Gogv86q*n?|$aAti~QvB4GT-$^2#!M(bUrtR8HI-8MhRIOE2>bhcF z2kGegooizYZ73M1bc>wfBm`ILXTZosEKsW0lpbid4!TVJ=21}@I$~PV&rlgUW{l2# zs4#p8_F-Oy!$eQ~Q;Fv3X;yBvRN2L+!uj+=($_aF3airSUBhcIUGsHhopE`@V^+N2 zTT;>KEWK6txPkl2^V5n3J0{36O)*Q`PGN~_c{Ha8IJ!&Bxd_H6a3fwu7AqNM77&?zZxHY%IMs5 z;rvcc6RNC}2>+B@;QeZQ7&Hau*dJA2AuOv_1lilWI(q-D<(k189%>7QoLe89Fo#ro zLK4HEn_9%dq613nL?yzNT|?qakPS8G%{XN?TfdwwJ&>J~x0!V#77Xl87J<4OR(5rE z-3@0Z&DXwHT_B_!GAN_3HRaLN^o_>4(`f_YpsVST+V^}bJWd$B~nY~mwlwo9%)Q;wp+7aq?1z+iWe6Y^6w=#EgG}3uxRoYM4 z=?ge_EeFcKY0KZ||F7whS5o%xP09Xig8P5q&B{m%OMMiiQ8jUVwVyNid)n-O9sD<} z*VE-HPB>Vq? zJjulMnx6gh?RKo`>!my$&wsOWV@d%l{3R0>{%mE-L`WY6HRo+0but+X@>?Mya8s(3 z*^_f}|NX7>H?n4_ld zCT{schGbYY&YQtuUKJnINnADg!Ks8HZSBb7nRdQ^i z!yfTl1sJA>t^zVzlqE-^uPa4q0Z$3wPjC0k;16Cdf(*hx&DGBbSR)R$`TZmrM4U&Y zd%_%j2@r3^W&Fz8!C4u$BvNz(#>r5mcQY!Jt~47n-cI478UFb^7E)j2x186O z?2t5*Jxxj*bd@ig?;|?;K3sEra@HJ|M^=%rT}Zj)!9D}9C&ij+IQIOmwMXn5HAz%T zQn4g2*uK#v)6F?15Z~w49D!{@=aMn!{6l)SoCZefAb}x_ysk;R+G?O(ZB4YTn61~_ zaZh-z6ROnCf-}5~0Q2oJGEMkpgoUr?o_k~^Cde~=8K@7_6VIVj{ZoZg74}~!m9Pj- z@^=|~DNE7Vu>`k5WKH}hiW1V>(OImsVfM*d0sJeXOZ@r#)dN(g=UQ%RmKF!+Q!r;e zf;ciDU`_afIjVPjTbPP>#&h&@Ki@9)H=gX4td-IXndN{v40&`fJ+MQM%U1l7xIEps zS*9Ta=|0+m>brh!nt6n})T^rcIjyB$UN6X(2*w_o4g76O6`A;4(0D&Hj_ZJ;CJ?;= zYP=2R;`Nv4ti(Ag)s9f6+}ZJG7QR>*1%h?T+h)W6SJ_v9Rk(Hoi=cF;bb}I7(xrejN;gQSG?D_}hI8&Y3g`asclP@L55ugQ70kTzn^}1y zX^DyrQ!lE|D^62#X4?h@zt?c4AEBmiVL-|FAM2Vu!EmKc-kg{9Piv&d;!;)$K*z%y zZ)V>X-X>T;U+~;1=MfKnhw;7mtZ=U(K395D23RpVJuJeUo@Y$9|Mm9w?6R#w$_4bX z#}x{R8!aAHzWcq%T_^B55rG`7p3R~g%@4MmA!1sgPb;D)gLja4+miJ-ieg7xzk}4A zs3d6`;#IdypEarO6fo8tN}TbWmys~Ui^eXCjnakqRoqp$OP>{!)}>OB7drZ^n0U-+ zJb^-h=b-nfeTi=A+j`Df@u}9vx5;zO^FjqF1=yz-9EAOZTYET8M@akA9#ITM1fe~F zdvq>MJ3sVV;sPjBIiQ1s0Ecou?hPZ-!H$N6=+{tSUf(m{+)fF zEpH;UYTf8XYe=eF3Z?K7H}7YUc8@0h#gS%BZJ6tk$g@Tx?d-vyWc7$^Mb+BJ<;IS% z-3U~cxu%*zcZNUToFV*7dmrkD(R|RnJ8Lw{aa%PY3jcE=CI`g>hINA7Vxp2AG_?JXJuCjEPE#|f_+|UtS5E&Jca>WrkS70 zyFJDC@!MR=mKIaS6O{8XLgsJ!->es-u&*`5taiI>A{19ht$Q`17GSzk@vwTXlwK>RK%gh&TcnVI_G7e z*oEJzF>z1g+A{t2!U?zJ^FvY=0zZSwBXybe+VBOk65>84ne1xU9kYg!WI)ux8&Eh&vLrN7AKR`y-DA<@S0Lh`E&HH4!A1?muW;*vy~;0DdOhD z^h@T-@`e1YVT#VoTfu=e#=hlWV4fd|9TAvy-;*`x-Pt#HAwO#Cv{`{Me)B#r9mrvN zU;A=GExa1^!#rkv{PVm+K)ZgW{dLW43?9nU6EX|4|CY|0YuqUQYNgCDp^A` zyZpi@>&!N?Flo61y-iD1l`VxsUVpJt{712QuAj+gLnTknR~BXhmwtWD7fFL7yiZiv zEx9b+nq(S-^?>z{=TGZV9TW1b58n82RFGCSbT#uWNmYJUnwe7c9&dgyQA(6Lkipsl zQ$f|5>U^$MjRVUNb89M}CMw6*dX^_YG#fMQJG*J1a%rcPI34#koTT7K|$R{^m(||PG+M&+LRmJ*9!Aljf*! zl5hzSMB$K-d-Ka%M*RU1`%-`@Gg`~{(a#Yu-8;?fcp}o2>G7QwkNHgFR$?{KwX0^o zsiF79ycCpL>^q(3VDA(5u{?ttFV~rmHgc{yq6Pa|dgu=pmaXy@R1?^TVqovdZRDm} zmb|3`nn4Q!eA5N(V%s|Mp}88Mz(B_ExYwpcriLNC$=ckdZQP`Xz6KRkl$ExXWU;AI5VW)isv=gi|{YKkyNC%MU;>0)O;CqP;BGb<=5;2V6wiX$v1^r zO3~Je$GYBzv^-r1tI>B={85d?cgCc18XW53SalByD0Y6D5|Q8W6j<4t+8_sW=eOO_ zuM+$|_(c8?-Z`5?L~OCTklnk{CwPZHSJ+%HdltvNVkED` zOMI>7dHHuMHL0X!PfV*hjL{RsvA@sd5-WqW;n|A%HkMUQc_CO`Ry_#!n@yU_5ooq~Hv6>TbM2 zotedOyWpDFgM|B=JD-y238-jK6l$Sn=M{Tnlp`NwUadf~S$KGZ>Efuqz9^NqTFo~% z2oLN=U(}B|VP7(O)}pmI6;|olB#B&T@q{SU=vj82U`ar$8CKnWs^C@^#Yt(O4dAS} z=#y7->uJlc7dE9S$2Xv68$sImc~6|5htoi|ous^8RnVBDPuwz8&Q`VxeS_(S*JQp! zN<}vjAc(&JZtlNRAQr5s+^9WHbpM9A#%alxJaKq^0Zrn3kg9kdt-srHqqu##C;fr~ z^XrISdhf4piCOm?pX_gBAg5bOiV zG+TzAC0eP8&T0Y>%0`BYY#=&ojSiE+q&Lusy_*InYS8v| zgw+VY-+E!%j99qNUsoS=##L!lt~IlI`=IjZb!9*kNmSErhZdvm|E492%eR#C-1 zOAhvro0N8;NT}4@n77H>hTx~eM~2@_c5^wmJYP=0zPTur>YFf;e3K_?GrH2P8`j$M zn2Cg<{b#^t348I88j8>2Gj7V#8ktbBJw_Z%4U!hYL1{uIt(T5=Q&=P01sy#7fEb5P532XvAdXQ2W?O=W6SVC5w80!t68t%cc<1h_~GA9NfdA?taZhhg+5WbRkLZ zlsH)mJ+=1&Q1WZ`$R^cS-;h&yaf;jE*+oISwh$NiR(PN-x@gVv)EuNYAD12VwczBb zt|b`_J>@Lc5Kw|1K28QvN^(2j-+j)*+d2Jiiul#GQNJ`c;){;K@)pMI37Ddvmlg-t80P?s zQbjD9a+bXr;my7`4W4Fwm zoAv~C-i)3oG!PQyTkaU}6nxvRrgAv_1tt&CUQL)Rk~>LlrYpwbrl;g-1;#wCCpEUq zIZ_?24Q$zRO-l;0U4ZNnIbvM4Mv;0VB5vcgn45@Hhr@_=bHE|395ZbkEyOdfQaZm> zOwu#v<$GDhS7uUudQZ$gWHA^$9_4>!hbh#67C!FPhDfWQ+f8f^&9MmhY&c@>(~bBh zrX(qf(X#f@3$F+>6$N#6>Sd)=)vXB(xJkPe#?-A52JUU;=I8je$39OYSqF;RRrb4X zMkzmFQvnPh7pEI_9hOiMR|P$;!V~nx=`lAMH#O041^PTPG5b2QZE`!WELvC;bc*fS z|7hCnqp~O9AzpX;PyF>aZ)Ddf?~>%&Z?pGi*}aoA3Bwj(?|6%oqn0s~{^lnRPdemy z^h3c3b49>?XPlQ$Jsm#EczTUOh296QAqV?O(Ir+>+1$8q&HhnhK-N2Vxc-@}{MtdL%?@X{c=Ba-Y`1#Q z@=;ci8Y7a>wNE`cmL)Ov|~8!ir%xf=^8098I1-V(Krp=tR=R- z4S0mYj;w@O5w`_U^J!|Lk(iM%k%Ey3*^;A-h@O!5NE|(rVlY$q%F&P6HKSefvjZ)9 zm^Ku0WB&%~G5^g|!A_p1y!!3Z)BQ1SpFB_brQRcJ8PnxMfsU-?AIVa0^xQPYcxxxb zDmwL)`2=GKY28y8Nt9JsjX7qAK^|wvJDqVl5h$6_n-TuQ7uU9u`KjAYqQQ2mimg+k zGoRNitclblJi|w$noFg&Nm?muiGH^^G9?)u)J6!}a_#t)S2X2T5|vg&thncC7^n?& z5}LnP5G7m9qmwYWSs-M9F3|UJqjy z-Q;cA2NV0jMp=>TIwVQCtPeglTKbQ+${JvlGR>LnbD{MTNF6hnRO&o=l@)O&8FrR= zP8PN+aZVNXLi%`fFj?n?&d|7*drX%=hH{8*N)dO!{5kmHdD~(Sa!+Y0iy$?Ps zMc<3O4=+&H8?eu6qL#w;aTSvWEjbeO+NsHm5420(-pcS`P_rWtJB1ReWlY7g@}R8L zwWnKoPDHY*W0cUXMB}`dIA$=5ZW@v7Sn4Z}tJQP?T4^_rE;~~$LsnYS^ux^wqfqur zRx`QK^waltNDbwZAc-;He2EZ-rd3@E(wKhB9d$d#&hkV@g=A4mi8+-$UDpm*u@mC+ zew*1nrcRlS-l-SpyBat4Q$`c#k=F+^fSMBPBJv!&RJ|U$4+`qSzIDdjE2~d`hHUcZVEMJ%cLvl1+77`4=I`A zv$}VwdrWKVuvR^(z0rVWHgo6}=*|7Eqlw8VV^Ke!tw=H*!>vUUg77f0DtDrw_S>^2 zt%ph_rNJ+0U32Q%>znI)`1?Jw>PFs=w~n`tiu3sJYKEkR(1bkpZPKx2#MuC}woMJJ zc*;(F5F67RdQmNRPbI%PP^zn+nClA#MNTUPjj6MRJ0Zw-SiwR#n!8(d+)S1Ym~&z( zEj}6BbgN|}#1nJ`bz_0PDi+N$&eJ%1y2{9|Rtm&iOnR#@bs1^@shf>^EPvHpUe{#VkD2)ahGY^gLaxqy7v|S4 z1Qg+FBybNo@XY(~0WOg*cBlDRr*rp^J#M*C9EOJ}=0dfe`@YUR-wG>4dGd!U&ss#1 za%VAB!70nC`a2J$5M`Fu+-N;MGN%EuJO_EgyaG%H3MImK&yutG9W6s8TmyetjmDRn* zdr%_ihU!=l)Jj8V+{55y@yD7}>rWn8jc>P9?y7uOl?=kSlF(`Q5Cwq?RoW1WSlw+2Q!3Mb;qI6AvlJ9*-=;>-ERCB{w0)e>^YB`uIOlGsemD(uG{#`Z^n z4r2~u&fq-0JYK2FlD+)C{D&$}V{%7Hbu1~7NHc=TCy`?(i3Uo5-tp6dY)yCr`iHdj z!S$=w22_wak1p$2j%++66l?las?MaIOp$g=0m`fs&QF)M7#t^#)dH;obfLEwvcT`20#>DUe*%UaZwq3%wTm5PMn+IhT>Z zKxK)%--xqMkdoiW1n-TEKaX2dm+$RJ*PPO(CAwQXmAV3-23pw#J~#6~6~r-g9AAEH zi*RT&B&V<2dMFrk+JOA#ILZCGkL}V;@+X2E3WENXoEG{I2y*DZK#+&=A^eqhUc1V0 zEo49WR4o>hEvD7EtVx^6@m8r1=04j2|HWEPepstMY(c5!&#$bgKrlSFBgN{Vn- zZcmX_L|Ik>4CK-`Kc#UD*TwG{5}}Sx?@k9$?Rc<{q|BMg-h7(JaqtMrqZwJ;=3{tQ z{TtP(AMajg%z*fe3tDiODF)y35FoNmY_fLk#b1b>6n}730fMN8vy>mKMUIG86eQpaPB|c ze1B*AMI;x!@caGhv;_U($Nc|E_j~D|`_*B`^{Y4hU*`M$zoqnFJ(nQhUt;_lNDqMi zYlJrtktO(=NAhyF{5nABKj5FC{~Q0T_*brD1frcw_&1-VMU0v``7oi6c)8V2a>iQJ z1!3|JCgD*38F(;t9~wmWg9CPxg(h#HBEvSbM!JZ^#J!ERph`dS%(fYx2`2vtM*j%b z&EmC8+yXP0s5*vwoA6jF?sK^TY1peMrnIDRbpbSQZbwd%MAxqe=Sx#2b5Qf?v9U4e zCf}q%&&KfnkIkQ7zAROiV^g%2wI75m>aE3x7BIAWGsOD2i+W^?r#DAxM8iv@{Szsm z>#lpYeby5(g_Ik-upZayhP=tQ?%Sgv$)TqcvQ?)O@*8&!gg2Bo02QIGuX(%pIxS}Q zZ8V14sULK&Pg|C)KW!bV8loQG>hQrG<=Ov2=LqwGp1I7W+;N>YHm4(G+cx)S5Mz0u zG3uyM);zyN-=Y%r{PjC1?5wQn$i%jK8>U>CHr_WQ=6jO4327YmKh1=EDJL-d{;aR4 zrL*~ckC3+H$0*K4Cb*oPzJ&xqME2X{{w+<9c>GJ2t6p%3T$0(L&-b6_?!=kVQv zN0wL8-JS8Qa)qu`cY@GaWG#Vii+i*G;Q z2cQclhhfqzg)uCDK2T37UhcTN$U(B3EYtt#aNDqu- zyTuIN&ABg=xQhZb6WJ9MrF?JJ+mq5`1*gL3jD>pca$=bl|CH7h{uu^q_C5@Icw@P8 zfcsr*=9$;-eVt^Y=3V?RQlP5s8@kP1vY>>oE4FCUJL5kM1-d-UKJufA_fV|nocEu& z?ndO6SsXj|!2TxMp3B$CO{Cf?35$fSny>roSo z4|=esxD+Ua*a& z6mRQvNPsGvQFJF9i*}{#E+kD~>QgeApXn_kvMusDP8Z0K!|4)}0Q70T0cZ3(|I*u| z@tmt4-}3R^8J^kMJL*V$RSjn8Sf~@--Qc2YIq83DXWC8p!lJ&XGL;8v2ecjvE#(hR zJ$Sgu#hXM_neTm?i9$Lzlt|8fz?{YuPqfgU4Faaon!761e&t)Exh0LCc$(@loPZ5=$F@OjKA zY(qDR!-(2t|4)>*!SF`wR~AhwUNJ5=k{%4WQ44%*lFhdcB}^wMJ|bDv`{DO^ny-4L z05{dL!=7boNn$_EYl4ODe1C^dvedwXDfVn|5qVUmoVsWTPgh)Bp2!+4Nx0ni3ujBd z32xs;fUHb>nr0@amoAtRkB)@KaJ)MoS?c56S4_s(qqi6yC4q@_7^`wtfQ(g!4fDCD zQ)Zfa9Qd8*FDDTxE=RH$hkM69lZoqNlMw{3NvRKh1bx4y8{JT(^#O+ue3aWo%_6iw z&K;W@=pwdvYkBt6#1=WGHsgCiqvDU@w>Z_L4aqfL6VV;I1tINmRjXOF>_mn4t?p#M zTTGedVhVEYuxzWlZ%ZC@D_s?p+A)wFPo@{IR9q)iz0t5Sbj7H8Kf_qSl>d?I{E&2B zD;5c4U^4cW0kdcaS5!KhJbpMq>2s!#$F!t@!THb~#m8%_Ka8FBw#Z%_sIPV82`nm= zDT*sazPg_!72n4=X(X?k&M_l(>(Q-+on{5Zib15g3ekk zah@zDc-UN(v>|@>s6&1b)8JW6g@n==ZKhp4rAS^*XiP3ZxjmX$GzwGM1o}E|z|Ah4 zQwsD_4H+afm=`wkE^I6GCRf}m@kQ;xCMMf3n4{T1ei&SMvi1|YclV%d9l*7V$(44F z>GmA|{EefB{C+|J;x3G$=_DJXZpL^5^aUyJughGG79Zk{3zjQPDJP%Vx$?Rhor%w< zbZZ2^$Xm9bkzTq5m%&OLv=<&9ELh{rXtL=$;h6zYvN*7&+J170oI;ztQ)o~~>zY*y z=l1mBCSd zjxb5?M=8edi-vwIER9Mv*Y`g7s4iPzuIysA{^}IJ_@r}OO|PEGmxI7;{aJ6D%DL>E zc&4cZEwtY$5i&2|@1iMFU4JBK8yWD7Fl2Pf^ECLZznXo|-eHZWTP|U|F6X9uCV6kG z&K(SeMeu~ne(i()XGiDr$u=KCi`A=QQX=N1t;G@GvwEJ}O9s7fNhn2XDXeU2+$A=ekG_6BG8j(w=H9@&m^W?hViX1Q zd3hvfn0avwng5_V{s+E=P_MYSxjFv=x&5jk{fQTZ{tLWd_*c^=POO$qkK2?r!V)}15R3}_?Z+qeq zw-gtgAF$0A)XJ`bDQ}HL?mOgd-RZ? zI|`+b)k81U%!hMb&)>3mPlc_+4^WSC9Q|WIAmWVBiPuAot^-@vU_9L#|ZQCi? z$v2i9n$b(~*q`tC#(~WkuJsR-@hjkv`>%LR*uMlEib%`JKYq+2tYczhb%B&)gR%V? zUTCgkWD5ZQrHBd%SvdhT5MVYoE(m~|3k-lEAfcDa<$u@B5iFPG|I*F5{s0*Mt(yOb z<9}=BAi$-b`m5r~^&b)ZpK!tp?ewx2e+OLt_d)+xm7I&~k2^%Jpb0O<{jbo3pv%b7 z|Ar$3U25n5?XUlvj>sO3m?BO96aoDFU))f{bt+IG2mk?Ia6-5*%!`W$2)i&5FCK0f zLh6V}TPVUH`-5`93*rV}QmkAHQEVXJTb3qGM+OU<7gkIXU5+5JV_DCj`vG31r~p z{DV*0O8@_2`DHv8ll40~SXc*P=voae*%04H!29`+S8D4&+3HpZ{K#6AXo4qd_@=*JxmF&TC^s zY)Qnv{k_l7%l&wT2IjsxHXsaoP0m0V;;NM^^#S2P#E$;G4Fv5Xj{mndfN*Z^t1HO9gFc1R2x?aFQ_{Ev|J0A#yz=QuzgCNFxwJZbz170l) zfg+BSt7Q=f@zwc&z(5x-g??)niV)vF&@SRPe&>U6!mr8zih!_RD+_~PlNF4M3v^Yc z2->wdhjD?g^$$UVUmXVwap+#7!NJ$|77PyIyt>w4a5y3j#P4H6(12IR0pkW;Tla7- z@U{JcpdsEo{$3xP3-Mg1T{~Y8tzKIPa3JhgIosLjn3x;b+`dp*6ir+VF3$0bx0MQ3 sR(1dwVjzD8*+^I#S|K6|E`Ps7`|H@)U7q}KARGj_O;0Z>D|Y+;0bX}p82|tP literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticPistonMass.svg b/devPneumatic/PneumaticPistonMass.svg new file mode 100644 index 0000000..9b87a3c --- /dev/null +++ b/devPneumatic/PneumaticPistonMass.svg @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPistonMass.xml b/devPneumatic/PneumaticPistonMass.xml new file mode 100644 index 0000000..9e77ee5 --- /dev/null +++ b/devPneumatic/PneumaticPistonMass.xml @@ -0,0 +1,20 @@ + + + + + + + + + Double acting pneumatic piston with spring return + PneumaticPistonSAMass.nb + PneumaticPistonSAMass.pdf + + + + + + + + + diff --git a/devPneumatic/PneumaticPistonSASpringMass.hpp b/devPneumatic/PneumaticPistonSASpringMass.hpp new file mode 100644 index 0000000..e4f28ff --- /dev/null +++ b/devPneumatic/PneumaticPistonSASpringMass.hpp @@ -0,0 +1,419 @@ +#ifndef PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED +#define PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPistonSASpringMass.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 6 Aug 2020 18:26:06 +//! @brief Single acting pneumatic piston with spring return +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticPistonSASpringMass.nb*/ + +using namespace hopsan; + +class PneumaticPistonSASpringMass : public ComponentQ +{ +private: + double A1; + double A2; + double SL; + double Cip; + double bp; + double ks; + double f0; + double fc; + double bfc; + double xmin; + double xmax; + double mL; + double bL; + double patm; + double Tatm; + double R; + double cv; + Port *mpP1; + Port *mpPL; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[6]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port PL variable + double fL; + double xL; + double vL; + double cL; + double ZcL; + double eqMassL; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port PL pointer + double *mpP_fL; + double *mpP_xL; + double *mpP_vL; + double *mpP_cL; + double *mpP_ZcL; + double *mpP_eqMassL; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpA1; + double *mpA2; + double *mpSL; + double *mpCip; + double *mpbp; + double *mpks; + double *mpf0; + double *mpfc; + double *mpbfc; + double *mpxmin; + double *mpxmax; + double *mpmL; + double *mpbL; + double *mppatm; + double *mpTatm; + double *mpR; + double *mpcv; + //outputVariables pointers + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart20; + Delay mDelayedPart21; + Delay mDelayedPart30; + Delay mDelayedPart40; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPistonSASpringMass(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(6,6); + systemEquations.create(6); + delayedPart.create(7,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpPL=addPowerPort("PL","NodeMechanic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); + addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); + addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); + addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); + addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ +30.,&mpbp); + addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); + addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); + addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); + addInputVariable("bfc", "Numerical friction factor.", "", \ +1.,&mpbfc); + addInputVariable("xmin", "Limitation on stroke", "m", \ +0.,&mpxmin); + addInputVariable("xmax", "Limitation on stroke", "m", \ +0.5,&mpxmax); + addInputVariable("mL", "Inertia", "kg", 100.,&mpmL); + addInputVariable("bL", "Viscous friction coefficient of load", \ +"Ns/m", 0.,&mpbL); + addInputVariable("patm", "Ambient pressure", "Pa", \ +100000.,&mppatm); + addInputVariable("Tatm", "Ambient temperature", "K", \ +297.,&mpTatm); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,6); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port PL + mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); + mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); + mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); + mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); + mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); + mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port PL + fL = (*mpP_fL); + xL = (*mpP_xL); + vL = (*mpP_vL); + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + eqMassL = (*mpP_eqMassL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + delayParts1[1] = (-(A1*c1*mTimestep) + cL*mTimestep + f0*mTimestep + \ +A1*mTimestep*patm - 2*mL*vL + bL*mTimestep*vL + bp*mTimestep*vL + \ +ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + mDelayedPart21.initialize(mNstep,delayParts2[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(6); + Vec stateVark(6); + Vec deltaStateVar(6); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port PL + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //LocalExpressions + + //Initializing variable vector for Newton-Raphson + stateVark[0] = vL; + stateVark[1] = xL; + stateVark[2] = qm1; + stateVark[3] = dE1; + stateVark[4] = p1; + stateVark[5] = fL; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //PistonSASpringMass + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(cL + f0 + ks*xL - \ +A1*(c1 - patm + qm1*Zc1) + limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + \ +mTimestep*(bL + bp + ZcL))) - delayedPart[1][1]); + systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax); + systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ +T1)) + A1*p1*vL)/(R*(1. + T1)); + systemEquations[3] =dE1 - qm1*(cv + R)*T1; + systemEquations[4] =-c1 + p1 - dE1*Zc1; + systemEquations[5] =-cL + fL - vL*ZcL; + + //Jacobian matrix + jacobianMatrix[0][0] = 1 + \ +(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ +- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ +ZcL)); + jacobianMatrix[0][1] = \ +(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); + jacobianMatrix[0][2] = \ +-((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = 0; + jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax))/2.; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = 0; + jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); + jacobianMatrix[2][1] = 0; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); + jacobianMatrix[2][5] = 0; + jacobianMatrix[3][0] = 0; + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = -((cv + R)*T1); + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = 0; + jacobianMatrix[4][3] = -Zc1; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[5][0] = -ZcL; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = 0; + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + vL=stateVark[0]; + xL=stateVark[1]; + qm1=stateVark[2]; + dE1=stateVark[3]; + p1=stateVark[4]; + fL=stateVark[5]; + } + + //Calculate the delayed parts + delayParts1[1] = (-(A1*c1*mTimestep) + cL*mTimestep + f0*mTimestep + \ +A1*mTimestep*patm - 2*mL*vL + bL*mTimestep*vL + bp*mTimestep*vL + \ +ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port PL + (*mpP_fL)=fL; + (*mpP_xL)=xL; + (*mpP_vL)=vL; + (*mpP_eqMassL)=eqMassL; + //outputVariables + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + mDelayedPart21.update(delayParts2[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonSASpringMass.nb b/devPneumatic/PneumaticPistonSASpringMass.nb new file mode 100644 index 0000000..d9cd4c2 --- /dev/null +++ b/devPneumatic/PneumaticPistonSASpringMass.nb @@ -0,0 +1,1044 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 55282, 1036] +NotebookOptionsPosition[ 52533, 953] +NotebookOutlinePosition[ 53186, 975] +CellTagsIndexPosition[ 53143, 972] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell[TextData[{ + StyleBox["PistonSASpringMass\n", + FontFamily->"System"], + StyleBox["Single acting piston with an inertia load and spring", + FontSize->16] +}], "Section", + Evaluatable->False, + CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { + 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, + 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, + 3.8056303262154465`*^9}, + ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8056302888340044`*^9}, + ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9}, + ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { + 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, + 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, + 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { + 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, + 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, + 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { + 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { + 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, + 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, + 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}}, + ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], + +Cell["\<\ +Single acting pneumatic piston with spring return connected to an inertia load. +The chamber volume is not included in the model but can be considered outside \ +the model.\ +\>", "Text", + CellChangeTimes->{ + 3.80362280378491*^9, {3.8049269528843813`*^9, + 3.8049269782841835`*^9}},ExpressionUUID->"abd21bd8-cde0-4513-a339-\ +eb1237cc4233"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0004Jd0@0006`000140000000001@4003;0@00 +oOoooogooom]4P00a@P00215CDH00040]4H004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000N18006`B0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000062;A03014@Z@000 +900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00R4800000 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00R48000008D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000020KZM90000081^YdT03_M80000000>mdP00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000o4BDA1E7RLkIak +D=CEglMOgog^L_66P:VH5laD::RQdU4AOPRH^//UGLg6bD[=IfZHIV`N/k5We2HOWdKCWfUf6KF;>IHc +A@>k/:^8J82VR966Uai5:D75Ac3S9[2kioV3f97KgP6IN9kcoKkgXmo?WWaYWcm?JVXZbiL_Me]?[mMchL85K]jlbO3Q`egF +bLk>Y[jnW_CdM>K=VnNFCCZMSXJ61PhM>/CL^G=Me_W^^nnhL>62FkId@;@/bcY9TPK5a/HB71`/^B9B +DU8bn=7dffno^OE_54:8/fO?R^3PH92fF7Qh>0J3@IHT:@1hZl/MB0Q1CTh>FZfFK=VfcH/04O7amd>Yg;=ZFWYj=@:5RgKQdE5AFL>WG:9AfS +dHP/bhB4Q;Q/Be]TFIjkH<42AG1`/baak1H;:>kg86b/k<1R8n?Aj_Ed]3@h?9o/=5XY:VYRLC4A>;Rh^SG +[io;diQ>Yb720T9HMBXDDbM>YDA8dJh?8gYmGZ63Qg:i73Q0KFf]deX73ai4Xm4Pbc806Xf6:eN^L?7RAJNdF]Hk2@T908`HAX:0PWWcbBJM]j4Vje86^Gkm>KFd]lO7aeSJ]ET]MGAe6Xm4Y[OclO2X[:jd? +29XM@98TYjM4_Ei?F5PHSckjZ;D]:BV9PX82b/_;7MJYZj/S9bN7iiikc]XfLN949TbHh9A=I[>Ik>a/ +e6XeT^ABRZK7j;94X/ERhLbI7>R`gZiM^e2YE4RBI=D263=V37_g +kRDl?=`QWM[JFW9cLiToOgh[WB53QR24H=>VC@i?8lN?7jN^[XjPX:1FFV5QHNSeN];Bd_3emKF[DeaL +C5EEUEGWo?Wc;Eda@9E3aWBNOOijE:eNf:cVL?G^FeeikSOG[ea7O^G9N?@5fjR1he +JQBC9dm^ejiBZDQ:BT:Wdm7Hf6QG9b/ZVb;3=kmV`<1P=V/mVVCUiN7WO^g;56Gff9S8`T +<33@XG1N[mOSiNG5k=Vc>na?B4SPeZeK51HFf]@a60`88CbMonTf^]B15ReJQ4ZUj[1?ZmGbiimoL_S` +HI/JMnkL8ClogiYWj@R=A/?]fkLY:2R`ZJGCjO3emNedWkIBZDB]EY>ATH79I;:YUIjNCTaW8VOWioMY:;1H<1T<[D:gm/bIlhLE2ZEgJadIVHVLG5a=T/5bLW9 +MX^[UbmOi^;5RcI]2PP8H=ZdJCHCWDe=CKdfO6nQaac8fm/KSDI3FUZJcEmkBoKiVFNNjO@J?cloYTfK +I_?GGUaLc>G;UfdnM81I/fKI;JjVYJD1M3XE]Y2@T<0__oc2kkoogV7o/F?7^7_gKZnM_Z2;=iAml<47 +K=VbYM=n8@AV/aTO7im>Oh4VT`V5@X6g]kO=kk9H;5P/UTjWc9H]5RTY:JBTY=SDA^dLNNJAMa7NoC@/F;>S/GTnLfN_BXJg;74RFIIinnVVKXKG9I6;[eZf4QhMg^1P] +;BgUVfnn@J_EfWeH]foOI^O>WLC7ao?DDdnejmncI`m225iiiAFk]QLE5F4d6UVbI0T??OA@ZkkjnWZf +KM_6]6WCR8j>]Z_efFNOhNo_cl:52m_ekMZeRokmnkL;]GonnFL>73P0l17PcQiI;f2U6oLkA8nN2e^` +H84H=VbH<9UFkL>96@T=2^_J:R@RPD2[5noGZ7M<[;bhDTBF;3QPg]n[kj +jR/1R<;2@XNdgWccCN7]kBfZZj]K]EnkMTd0H_?VcNg^lN2i/07diS3N4KAJ;ADE5A`oO[aMGfIV9[6a +/@k_Se6[eA`nO9Rj^[YFkGZm_UG5g1jfRZ]j_IhA8dId>el^P>AY[Fea]J6PP:b^;i>ATQj>VZ:PX +1PlNg2hJ:`E4a?3`843 +FhGcmOGeI6MW>oG@XKTj;hAXYIFCTd=eMKECCZeBZIPeJaJIVIWFOemSHbCUfXkSN@3/7ZZ^[@jeF +dmCDe6e6J;EJb/_;>GWbY;E=[mLC4A71b94S7MKam_HV;Rh>_Ei_OESIfMWDe]HjmM2Q^J8nO_chE]>H +CZMS`801MUm4dIJ4Q0A^g;S1jM>W0LS=cJFj^[Xk`_MkP:G]U>h9JVYZD2PDmNdLj8/__^3XdJ=lo?77 +7_oBcTQ:B/;;bl/jSEEEEG7Ra0VW7cXdCf?G[UfS^;PHJ7K4@H<6lJmooL]Y[HB41;:c/jV^[TH8@DI6 +QSE?i0aZ]AZUDVVMaXa68mkNg/C4a3Q]Ti>HU4[UiMcLG4nT0e[ahhloFRA9:VkU@2JCbIZgNOOMMjVX +Z?3dmgJ8WilOLG5aeVT/CWINUS`m>WCU9FE>K`@_in0 +P02VCYeZMB23`D1794lnKZHoO_gLo[dJHGIK?jRU@=mnnfgU9JF/WG[E^kM +^lLkkkcS/BneQeJ[YKBdU::R8_Aj?D51@@i7>_LC51A4A4@4VIVIW3YeR_;bLYLL4F3jm>T<6C:4m?Ad +M3XM/Rbk73FeI:Gcl_:hN?5RMfJO]b/DRUndFZgUXhlnJQNQ>T=eMCFK=VeRlN;55UVFS`6O`mmi88_5 +8/;2`TAXJ:P`VlgR[KON4PZ5@Y`hLD88dOG_1kYmnkI@:YERiLZE`/o?CbaO_]biaPfkN?5R4APH:<;3`dEDE9C;>^O?WaN0R8R8482`MDZd2mh?=4BFiH>0D2ZEiY4SAcJ=7Sfj +dIW?``log:AD:Rf0T2CY1l0?k/]4IfATD5aLc=jmNe4X5:aI/hImnoJATY9R]l[]2@830hV9RF77SQgL +^gO?iE43VZNammikSidkMc9mnW@20P;/gm@9bLW9k=fkUl[:BSkhh0>GMD93@aTgKQa5ADF<6cL>Ci`B +MH;KI[=i5Q1YQXEZmNkI5gj=QSk]bib;9AT]gFRXj<92PYb:JG`X:84^7CY4^_G[nn`iQ@A4L6[[kkJ;@h4<7onO8ol@VO=V/GI/fLm +H57c:=KIWQiWD:UD_?onnfj=[PlJ4/d[LgK_g]eYdK:j^YZDU1CZjn^I=flNHlN>]B^lKM/fe6XeRaL_ +M/ZPa/I6Ug8f7E5GEoO0?B`QQ=fBBUIF5[]fkH9Nl9iX2BLf;DVBi5@mbMGgi?AQiH5g82GPL8UJ2=6Z +h=V7dl`2=P?o2FAeLTdRl3o0fl3oMI=MOO@BI>1oPB8jgV[Z@g>^YHP7H:]=7`lVod7c/R6nPkiE=_[j +j0<0Kj0Lb6kCkPmD0ZjmOJ^?OaA_dCcBC;V_kMn02NRM9`ckj5H6d_cJU^oooW/`cKFVGCeUD1nmSol6 +c<1S`;M07C2ZAbgZXeLa5:P5lP4;c@kEAam>lA7=Jj5K`:0N]ZF?G/PHX16`OMKj0DK^J@?nhMcmnlm] +=4mS_Hko1cP1;Bd/0 +OGem0?Sh`1`L700jNWY0CTi017AdL00@410>OWi`2a/K40GUiN0:j^[P1JFUX03Ph>04I6AP1VIVH0@d=309nOW`051@D0 +kNg]0=gMg@2MWId0Hf=S018B4P3kno/08B4Q069RHP0C4a<0>3Ph02LW9`3IfMT0d];B020P801KFe/0 +1PH60:2PX02@T9004A4A059BDP3moOd061PH01HF5P30`<00dm?C01LG5`36a/H0gmoO0=KFeP3no_h0 +6ATI01lO7`1=CDd0@T9202`/;01XJ6P030`<0?Shn02KVi/0LW9b08B4Q02=SHd0Rh^;05eMG@1?Cdl0 +dM7A09jNWP1aLG40lO7a0?3`l01iNGT0/k>c0;Zj^P3^k^h0BTY:02;RhP34a<@0YJFU0:NWY`3fm_H02PX:06m_K`0[:b/0V9RH0=CDe03Xj>P0?clo02l_;`29RHT0 +OWin04Q8B00J6QX08R8R08n?S`3UiND0VIVI000 +_kno07YjNP1fMWH0EEEE01/K6`1UIFD05ADE0S0<_;b`2k^k/0@D5108J6QP2QXJ40?Cdm034a<@3=cLd0>c/k0>_[j`2BTY80 +:BTY07EeM@3/k>`0;Bd]04A4A02GUiL0GemO0cP1WIfL0Lg=c04i>CP010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@400@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@400@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@0000410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@4100000001 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100010@000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100410@000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@400@410@400@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@0000410@4100410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@400@410@41 +0@010@410@410@410@410@410@410@410@410@410@410@410@410@410@410@010@400@4100410@01 +0@400@4100410@010@400@4100410@010@400@4100410@010@400@4100410@010@400@4100410@01 +0@400@4100410@010@400@0100410@0100000@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@4000000000000002/71`L71`L71`L71`00000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@409dNFUYJFUYIU8@1:iNGUiNGUiNGU9nJFUYJF +UYJFUYJFUYIfUYJFUYJFUYJFUYJFUYJFUYJFeIJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJF +UYJFUZ6FUYJFUYJFU/<00@410@410@410@410@410@410@410@410@410@410@410@410@410@400:81 +0@410@7T:00<0@410@410@413@h10@410@410@410@7K:@410@410@410@410@410@4UPP410@410@41 +0@410@410@41Qe410@410@410@410@410@410DL10@410@410@l00@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@40YSn=0@410N01810@410@410@410@410@41K@D1 +0@410@410@410@410@41Y02J0@410@410@l00@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@402]V/6P41b`0i2`0<0@410@410@413@h10@410@410@410N408B010@410@410@410@41 +0D]<06010@410@410@410@410@4U3@120@410@410@410@410@415@2;0@410@410@l00@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@402/h0d04IQ75;2`0<0@410@410@413@h10@41 +0@410@410N0=0]/<10@410@410@410@410H8XbBLg0@410@41 +0@410@410@5R?moF0@410@410@410@410@5C0=L0@P410@410@l00@410@410@410@410@410@410BP0 +9kG8bo_knoIPMb_kno_kno_kno +>fjo_kno_lA4_kno_h<000400@0100400@0100400@00P@410@410@410@410@410@410@41PP002P41 +0@410@412`0<0@410@410@41:`LW9bLW9bLW:00X9bLW9bLW00LW9bLW9bLW9`L09bLW9bLW1`0W9bLW +9bLW9bL[:bLW9bLW9b/[9bLW9bLW9bLX00LW9bLW9`L09bLW9bLX:2PX:2PX:2PX:2PX:2PX:2P0P@41 +0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@41:ah10@410@41<3ll0@410@41 +UDe;0@410@410Gn00@410@41C`280@410@410BD=GP410@410F40DP410@410@6l0;d10@410Kh09P41 +0@410@410@410@410@410@410J/0P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 +0@410@41:ah10@410@5L]SX10@410@41/P2c0@410@41J3Jg0@410@410KRA0@410@410KT0CP410@41 +0I00^P410@410@42^`410@410AZf<`410@410@410@410@410@410@410J/0P@410@410@410@410@41 +0@410@41PP002P410@410@412`0<0@410@410@41:ah10@410@5Z09X10@410@41K2M`0@410@41M`1A +0@410@410GXQS@410@410F8k?0410@410@45P41 +0@41CP0R0@410@410@5e0:X10@410Ie=B`410@410@4@:h410@410@410@410@410@410@410J/0P@41 +0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@41:b/jDE5ADDP0PE5ADE5ADE5A +DJ403U5ADE5l0:9ADE5ADE5ADE6SBGEADE5AWCJTDE5ADE5ADE5e>bYADE5A5jEGDE5ADE5ADE5AYZMA +DE5ADE5ADE5ADE5ADE5ADE5ADJP0P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 +0@410@41:`0000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000P@410@410@410@410@41 +0@410@41PP002P410@410@412`0<0@410@410@41APDX8YVIVY]oVIVIVIVIVIVIVITH=RJIVIU4W9VI +VIVIVIVIVITR9ifIVIUl09jIVIVIVIVIVIVIPP21VIVIBSHVVIVIVIVIVIVIW`1`VJ000@0100400@01 +00400@010040P@410@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@413ID0;@41 +8`2F0@410@410@410@5>02l10G@[H@410@410@410@41F5T10@5O:bT10@410@410@4187TE0@41UiP1 +0@410@410@414C/j0@l00@410@410@410@410@410@40P@410@410@410@410@410@410@41PP002P41 +0@410@412`0<0@410@410@413FJ:R`41S7V=0@410@410@410@4A?hh10@l0S`410@410@410@41QP2@ +0@5_1P410@410@410@410I540@6B09<10@410@410@410IAEE0l00@410@410@410@410@410@40P@41 +0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@413@j31@5;Q4X10@410@410@41 +0@41<4dA0@V50@410@410@410@41>0260HL[L`410@410@410@410HP0C`5Q05810@410@410@410CD0 +R@l00@410@410@410@410@410@40P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 +0@410@413@iP07Ae07H10@410@410@410@41M`1AN7Uj0@410@410@410@410G]H0G`0O@410@410@41 +0@410Gh7L`5oP0410@410@410@410AH7L`l00@410@410@410@410@410@40P@410@410@410@410@41 +0@410@41PP002P410@410@412`0<0@410@410@413@iT06EV96L10@410@410@410@41J3IYJP1[0@41 +0@410@410@410FTfK6e^0@410@410@410@410@5_@6`WL0410@410@410@410@5aLPl00@410@410@41 +0@410@410@40L`410@410@410@410@410@410@41JB/02P410@410@412`0<0@410@410@413@iDEA]F +E`410@410@410@410@410EQIFU]L0@410@410@410@410E40G@eN0@410@410@410@410@5O1f002`41 +0@410@410@410@4::6400@410@410@410@410@410@4XHP410@410@410@410@410@410@41HbP02P41 +0@410@412`0<0@410@410@413@h1ADH0A`410@410@410@410@410DP0BDX10@410@410@410@410D]< +C@1>0@410@410@410@410@5?035@B`410@410@410@410@5A03X00@410@410@410@410@410@413E81 +0@410@410@410@410@410@5C9`002P410@410@412`0<0@410@410@413@h1=@0f=`410@410@410@41 +0@410CP003T10@410@410@410@410@4j03/l0@410@410@410@410@41?@0n0@410@410@410@410@4A +?d000@410@410@410@410@410@40:4520@410@410@410@410@410D=4:0402P410@410@412`0<0@41 +0@410@413@h1:@0Z0@410@410@410@410@410@4L:b`10@410@410@410@410@4]02h10@410@410@41 +0@410@415@0_0@410@410@410@410@41<3400@410@410@410@410@410@410BPWP0000000000/08/>P00R4800000 +8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00R4800000:T0002@0000H0000 +0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 +9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 +30000000000Z@000900001P00000080o000000000000080oVj:<@Q=oeT<4@00030000000000Q0000 +200001`000080000B`000400000`00001@000200000100000@00010000000000000005/4000C0P00 +00000000001K10004`8002@0000T00000020?`00000000000020?i^RS48COmI30P0000`0000@0000 +00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 +10048T<0H@1/06T0HP1b06T000000000000000000030ib]100000000000000000000000000000000 +00000<3W:d40000000000000002HakXE^>6l01DDefL40000:>Rl0000001/8^h;800000d0001Hh[`0 +U4Zk5E3R_00000000000P000062LECAgGcDdMA5g8L?/hK`00H0006le=7D000000000000000000000 +0HDB/QcR_03X2cAe4GLQ``008@0AMb734GL00:cR_02fOS9e9A<007SR_01P8^h;G>Bl00T000020000 +00000=9]/GLU4i<09A<4T`0010000?oo9A>Coooooon`X`0019<406@000000000X2W^2l0<2P?Lh[`0 +k3LWMV0RkP/U4`BC2@00000000040000I7H02000000U000030000040000F0000300001P0000B0000 +30000040000H000030000000009D0000E00004H0000n0@00P00009eT<4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000005/4000C0P0000000000001K1000 +4`8002@0000T00000020?`00000000000020?dO>8DACRMI30P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400000 +V>`:5ooooonHk0XGE0000040000AMb730000015g8L?0hK`0800000d02`1Hh[`0U4Zk5E3R_0000000 +0000P0000>2LECAgGcDdMA5g8L?/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe +4GLQ``008@0AMb734GL00:cR_02fOS9e/5D007SR_01P8^h;G>Bl00T00002000000000=9]/GN`EMT0 +/5D4f@0010000?oo/5GIoooooon`X`001=T406@000000000X2W^2jP<2P?Lh[`0k3LWMV0RkP^`E@CI +2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 +30000000009D0000E00008L2000n0@00`@800`:5ooooooXk0XG +E0000040000AMb730000015g8L?0hK`0800000d0101Hh[`0U4Zk5E3R_00000000000P000042LECAg +GcDdMA5g8L?/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe4GLQ``008@0AMb73 +4GL00:cR_02fOS9eC2L007SR_01P8^h;G>Bl00T00002000000000=9]/GM<9eh0C2L4GP0010000?oo +C2MNoooooon`X`0015h406@000000000X2W^2k0=2P?Lh[`0k3LWMV0RkP]<9`AN2@00000000040000 +I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 +E0000>@3000`000050@00;d000020000000000000000000000000040001<00000000000000000000 +oooooooooom@0000C02h@C40000U0000300000h0080X000030000040000R000030000?oooom60000 +S00008000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000000Q010@H00003000008@`=/00000 +0`0043A0100<00000000024000080000HP0000`000010000C00006@000140000000000000 +50000000000@00005000 +\>"], "Graphics", + ImageSize->{245., 116.34078212290501`}, + ImageMargins->{{67, 0}, {0, 3}}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], + +Cell["The name of the component is stored in ComponentName.", "Text",ExpressionUUID->"fc663f35-5dac-409c-a0ec-6281d6b5b63c"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { + 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { + 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, + 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { + 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, + 3.8036198831731386`*^9}, {3.8036202178951073`*^9, + 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, + 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, + 3.805630308114118*^9}, 3.8058061500601473`*^9}, + ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\n", " \t", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], + ",", "\n", " \t", + RowBox[{"MechanicQnode", "[", + RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { + 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, + 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { + 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, + 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.805719883413724*^9, + 3.8057199001214886`*^9}}, + ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection",ExpressionUUID->"4495269b-b1d4-4ebd-af99-f1c375c55315"], + +Cell[BoxData[ + RowBox[{"\t", + RowBox[{ + RowBox[{ + RowBox[{"p1e", " ", "=", " ", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", + RowBox[{ + RowBox[{"fLe", "=", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", + CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { + 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.8036238380409465`*^9, + 3.8036238385036807`*^9}, {3.80492742850178*^9, 3.8049274299632716`*^9}, { + 3.8057199419343576`*^9, 3.8057199442749434`*^9}}, + ExpressionUUID -> "ed9c71e6-4eb8-4953-aa02-fa707ef6102a"], + +Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fg", " ", "=", " ", + RowBox[{"A1", " ", + RowBox[{"(", + RowBox[{"p1e", " ", "-", " ", "patm"}], ")"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { + 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, + 3.803619931058714*^9}, {3.8036204068418913`*^9, 3.8036204207829046`*^9}}, + ExpressionUUID -> "67e39f16-0148-47fe-a912-338bf5173270"], + +Cell["\<\ +Dry friction is modelled with a small linear region for low speeds for \ +numerical reasons\ +\>", "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, + 3.6326809028107214`*^9},ExpressionUUID->"36e2dac7-1064-4be5-be73-\ +60bd41e923f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Bf", "=", + RowBox[{"bfc", " ", + RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { + 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { + 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, + 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, + 3.6330608651106114`*^9}, + ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fre", "=", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"Bf", " ", "vL"}], ",", + RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, + 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, + 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, + 3.633061731221661*^9, 3.8057199451470437`*^9}, + ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"T0", "=", "1."}], ";"}]], "Input", + CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, + 3.6273207475017023`*^9, 3.803624094990635*^9}, + ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Differrential algebraic equations", "Subsection", + CellChangeTimes->{{3.5719031558017125`*^9, + 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ +663ef645837a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"rho1", " ", ":=", " ", + FractionBox["p1", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"rho2", " ", ":=", + FractionBox["pp2", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"Tp2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", + CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, + 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}}, + ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", "=", + RowBox[{"-", "qL2"}]}], ";"}]], "Input", + CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, + 3.8057199459771876`*^9}, + ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"q1e", "=", + RowBox[{"qm1", "/", "rho1"}]}], ";"}]], "Input", + CellChangeTimes->{3.8049274368531656`*^9}, + ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"cp", "=", + RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, + ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"mL", " ", + RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", + RowBox[{ + RowBox[{"(", + RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", + RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", + RowBox[{"(", + RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", + "\[IndentingNewLine]", + RowBox[{"qm1", " ", "\[Equal]", + RowBox[{"-", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", + RowBox[{"Cip", "*", + RowBox[{"(", + RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1", " ", "cp", " ", "T1"}]}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, + 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { + 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, + 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { + 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { + 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, + 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { + 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, + 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { + 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, + 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, + 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { + 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, + 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, { + 3.8057199467533875`*^9, 3.805719950688328*^9}}, + ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179141015143`*^9, 3.8050179155584116`*^9}}, + ExpressionUUID -> "7a00d647-ff13-455e-b6ed-630874d7c8f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"fL", " ", "==", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { + 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, + 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { + 3.8049274406392603`*^9, 3.804927442192658*^9}, {3.805719951603384*^9, + 3.8057199530498915`*^9}}, + ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], + +Cell["The vector of independent variables of the system are", "Text", + CellChangeTimes->{{3.524850810625*^9, + 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ +b44c06bce4a8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", "=", " ", + RowBox[{"{", + RowBox[{"vL", ",", "xL", ",", "qm1", ",", "dE1", ",", "p1", ",", "fL"}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { + 3.8036205546172533`*^9, 3.8036205788703737`*^9}, {3.803620736028088*^9, + 3.80362073733832*^9}, {3.803629822817831*^9, 3.8036298233096237`*^9}, { + 3.8049274430757484`*^9, 3.8049274439208755`*^9}, {3.805719953641281*^9, + 3.8057199549339485`*^9}}, + ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], + +Cell["Limitations", "Text", + CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, + 3.8036206934694366`*^9, {3.8036208660567694`*^9, + 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ +08c613090723"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"variable2Limits", "=", + RowBox[{"{", + RowBox[{"{", + RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, + 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { + 3.805719955537326*^9, 3.8057199561027427`*^9}}, + ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,460,161, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153591505*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,460,162, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153631463*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Pneumat\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"ingMass\\\\\\\ +\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \ +\\\"}\\\"}]}], \\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\ +\", RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\ +\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ +\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\ +\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ +\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"19\\\", \\\"\[RightSkeleton]\\\"}]}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,460,163,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153692401*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,460,164,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153733359*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,460,165, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153764326*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,460,166,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.8058061537972927`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,460,167, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.80580615382926*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,460,168,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.805806153861226*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,460,169,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8057199664920254`*^9, 3.8058061538941927`*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{862, 662}, +WindowMargins->{{Automatic, 499}, {156, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 497, 11, 88, "Section", + Evaluatable->False], +Cell[1079, 35, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1437, 43, 505, 12, 50, "Input"], +Cell[1945, 57, 816, 15, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2764, 74, 1797, 37, 164, "Input"], +Cell[CellGroupData[{ +Cell[4586, 115, 98, 0, 49, "Subsection"], +Cell[4687, 117, 349, 8, 49, "Text"], +Cell[5039, 127, 24610, 306, 128, "Graphics"] +}, Open ]], +Cell[CellGroupData[{ +Cell[29686, 438, 96, 0, 49, "Subsection"], +Cell[29785, 440, 125, 0, 30, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[29947, 445, 101, 0, 49, "Subsection"], +Cell[30051, 447, 3755, 84, 373, "Input"], +Cell[33809, 533, 904, 19, 69, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[34750, 557, 100, 0, 49, "Subsection"], +Cell[34853, 559, 644, 15, 50, "Input"], +Cell[35500, 576, 97, 0, 30, "Text"], +Cell[35600, 578, 440, 9, 30, "Input"], +Cell[36043, 589, 320, 7, 30, "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[36366, 598, 502, 10, 30, "Input"], +Cell[36871, 610, 567, 12, 30, "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[37441, 624, 244, 5, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37722, 634, 183, 3, 49, "Subsection"], +Cell[37908, 639, 575, 15, 94, "Input"], +Cell[38486, 656, 243, 6, 30, "Input"], +Cell[38732, 664, 201, 5, 30, "Input"], +Cell[38936, 671, 220, 5, 30, "Input"], +Cell[39159, 678, 2269, 46, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[41465, 729, 161, 2, 49, "Subsection"], +Cell[41629, 733, 843, 19, 88, "Input"], +Cell[42475, 754, 192, 3, 30, "Text"], +Cell[42670, 759, 560, 11, 30, "Input"], +Cell[43233, 772, 230, 4, 30, "Text"], +Cell[43466, 778, 436, 10, 30, "Input"], +Cell[CellGroupData[{ +Cell[43927, 792, 122, 2, 30, "Input"], +Cell[44052, 796, 408, 8, 21, "Message"], +Cell[44463, 806, 408, 8, 21, "Message"], +Cell[44874, 816, 5406, 77, 148, "Message"], +Cell[50283, 895, 296, 6, 21, "Message"], +Cell[50582, 903, 468, 9, 39, "Message"], +Cell[51053, 914, 298, 6, 21, "Message"], +Cell[51354, 922, 467, 9, 39, "Message"], +Cell[51824, 933, 296, 6, 21, "Message"], +Cell[52123, 941, 370, 7, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPistonSASpringMass.pdf b/devPneumatic/PneumaticPistonSASpringMass.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4f62d9a5e19cd9aae15b685351a6fbdef2e58e57 GIT binary patch literal 77665 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPistonSASpringMass.xml b/devPneumatic/PneumaticPistonSASpringMass.xml new file mode 100644 index 0000000..d953bd9 --- /dev/null +++ b/devPneumatic/PneumaticPistonSASpringMass.xml @@ -0,0 +1,19 @@ + + + + + + + + + Single acting pneumatic piston with spring return + PneumaticPistonSASpringMass.nb + PneumaticPistonSASpringMass.pdf + + + + + + + + diff --git a/devPneumatic/PneumaticPistonSpringMass.hpp b/devPneumatic/PneumaticPistonSpringMass.hpp new file mode 100644 index 0000000..2b1e526 --- /dev/null +++ b/devPneumatic/PneumaticPistonSpringMass.hpp @@ -0,0 +1,529 @@ +#ifndef PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED +#define PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPistonSpringMass.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 6 Aug 2020 18:20:10 +//! @brief Pneumatic piston with spring return +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticPistonSpringMass.nb*/ + +using namespace hopsan; + +class PneumaticPistonSpringMass : public ComponentQ +{ +private: + double A1; + double A2; + double SL; + double Cip; + double bp; + double ks; + double f0; + double fc; + double bfc; + double xmin; + double xmax; + double mL; + double bL; + double patm; + double Tatm; + double R; + double cv; + Port *mpP1; + Port *mpP2; + Port *mpPL; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[9]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port PL variable + double fL; + double xL; + double vL; + double cL; + double ZcL; + double eqMassL; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port PL pointer + double *mpP_fL; + double *mpP_xL; + double *mpP_vL; + double *mpP_cL; + double *mpP_ZcL; + double *mpP_eqMassL; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpA1; + double *mpA2; + double *mpSL; + double *mpCip; + double *mpbp; + double *mpks; + double *mpf0; + double *mpfc; + double *mpbfc; + double *mpxmin; + double *mpxmax; + double *mpmL; + double *mpbL; + double *mppatm; + double *mpTatm; + double *mpR; + double *mpcv; + //outputVariables pointers + Delay mDelayedPart10; + Delay mDelayedPart11; + Delay mDelayedPart20; + Delay mDelayedPart21; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPistonSpringMass(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(9,9); + systemEquations.create(9); + delayedPart.create(10,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpPL=addPowerPort("PL","NodeMechanic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); + addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); + addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); + addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); + addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ +30.,&mpbp); + addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); + addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); + addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); + addInputVariable("bfc", "Numerical friction factor.", "", \ +1.,&mpbfc); + addInputVariable("xmin", "Limitation on stroke", "m", \ +0.,&mpxmin); + addInputVariable("xmax", "Limitation on stroke", "m", \ +0.5,&mpxmax); + addInputVariable("mL", "Inertia", "kg", 100.,&mpmL); + addInputVariable("bL", "Viscous friction coefficient of load", \ +"Ns/m", 0.,&mpbL); + addInputVariable("patm", "Ambient pressure", "Pa", \ +100000.,&mppatm); + addInputVariable("Tatm", "Ambient temperature", "K", \ +297.,&mpTatm); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,9); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + //Port PL + mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); + mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); + mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); + mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); + mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); + mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port PL + fL = (*mpP_fL); + xL = (*mpP_xL); + vL = (*mpP_vL); + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + eqMassL = (*mpP_eqMassL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ ++ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ +bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ +A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + mDelayedPart11.initialize(mNstep,delayParts1[1]); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + mDelayedPart21.initialize(mNstep,delayParts2[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(9); + Vec stateVark(9); + Vec deltaStateVar(9); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + //Port PL + cL = (*mpP_cL); + ZcL = (*mpP_ZcL); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + A1 = (*mpA1); + A2 = (*mpA2); + SL = (*mpSL); + Cip = (*mpCip); + bp = (*mpbp); + ks = (*mpks); + f0 = (*mpf0); + fc = (*mpfc); + bfc = (*mpbfc); + xmin = (*mpxmin); + xmax = (*mpxmax); + mL = (*mpmL); + bL = (*mpbL); + patm = (*mppatm); + Tatm = (*mpTatm); + R = (*mpR); + cv = (*mpcv); + + //LocalExpressions + + //Initializing variable vector for Newton-Raphson + stateVark[0] = vL; + stateVark[1] = xL; + stateVark[2] = qm1; + stateVark[3] = qm2; + stateVark[4] = dE1; + stateVark[5] = dE2; + stateVark[6] = p1; + stateVark[7] = p2; + stateVark[8] = fL; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //PistonSpringMass + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(A2*c2 + cL + f0 - \ +A2*patm + ks*xL - A1*(c1 - patm + qm1*Zc1) + A2*qm2*Zc2 + \ +limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + mTimestep*(bL + bp + ZcL))) - \ +delayedPart[1][1]); + systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax); + systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ +T1)) + A1*p1*vL)/(R*(1. + T1)); + systemEquations[3] =qm2 + (Cip*R*(p1*(-1. - 1.*T2) + p2*(1. + \ +1.*T2)) - 1.*A2*p2*vL)/(R*(1. + T2)); + systemEquations[4] =dE1 - qm1*(cv + R)*T1; + systemEquations[5] =dE2 - qm2*(cv + R)*T2; + systemEquations[6] =-c1 + p1 - dE1*Zc1; + systemEquations[7] =-c2 + p2 - dE2*Zc2; + systemEquations[8] =-cL + fL - vL*ZcL; + + //Jacobian matrix + jacobianMatrix[0][0] = 1 + \ +(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ +- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ +ZcL)); + jacobianMatrix[0][1] = \ +(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); + jacobianMatrix[0][2] = \ +-((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); + jacobianMatrix[0][3] = \ +(A2*mTimestep*Zc2*dxLimit(limit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = 0; + jacobianMatrix[0][6] = 0; + jacobianMatrix[0][7] = 0; + jacobianMatrix[0][8] = 0; + jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ +delayedPart[2][1],xmin,xmax))/2.; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = 0; + jacobianMatrix[1][6] = 0; + jacobianMatrix[1][7] = 0; + jacobianMatrix[1][8] = 0; + jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); + jacobianMatrix[2][1] = 0; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); + jacobianMatrix[2][7] = 0; + jacobianMatrix[2][8] = 0; + jacobianMatrix[3][0] = (-1.*A2*p2)/(R*(1. + T2)); + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = 0; + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = (Cip*(-1. - 1.*T2))/(1. + T2); + jacobianMatrix[3][7] = (Cip*R*(1. + 1.*T2) - 1.*A2*vL)/(R*(1. + \ +T2)); + jacobianMatrix[3][8] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = -((cv + R)*T1); + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[4][7] = 0; + jacobianMatrix[4][8] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = -((cv + R)*T2); + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[5][7] = 0; + jacobianMatrix[5][8] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = 0; + jacobianMatrix[6][2] = 0; + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = -Zc1; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; + jacobianMatrix[6][7] = 0; + jacobianMatrix[6][8] = 0; + jacobianMatrix[7][0] = 0; + jacobianMatrix[7][1] = 0; + jacobianMatrix[7][2] = 0; + jacobianMatrix[7][3] = 0; + jacobianMatrix[7][4] = 0; + jacobianMatrix[7][5] = -Zc2; + jacobianMatrix[7][6] = 0; + jacobianMatrix[7][7] = 1; + jacobianMatrix[7][8] = 0; + jacobianMatrix[8][0] = -ZcL; + jacobianMatrix[8][1] = 0; + jacobianMatrix[8][2] = 0; + jacobianMatrix[8][3] = 0; + jacobianMatrix[8][4] = 0; + jacobianMatrix[8][5] = 0; + jacobianMatrix[8][6] = 0; + jacobianMatrix[8][7] = 0; + jacobianMatrix[8][8] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + vL=stateVark[0]; + xL=stateVark[1]; + qm1=stateVark[2]; + qm2=stateVark[3]; + dE1=stateVark[4]; + dE2=stateVark[5]; + p1=stateVark[6]; + p2=stateVark[7]; + fL=stateVark[8]; + } + + //Calculate the delayed parts + delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ ++ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ +bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ +A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ +mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ +bp*mTimestep + mTimestep*ZcL); + delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port PL + (*mpP_fL)=fL; + (*mpP_xL)=xL; + (*mpP_vL)=vL; + (*mpP_eqMassL)=eqMassL; + //outputVariables + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + mDelayedPart21.update(delayParts2[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonSpringMass.nb b/devPneumatic/PneumaticPistonSpringMass.nb new file mode 100644 index 0000000..c70396a --- /dev/null +++ b/devPneumatic/PneumaticPistonSpringMass.nb @@ -0,0 +1,984 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 47232, 976] +NotebookOptionsPosition[ 44392, 891] +NotebookOutlinePosition[ 45045, 913] +CellTagsIndexPosition[ 45002, 910] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell[TextData[{ + StyleBox["PistonSASpringMass\n", + FontFamily->"System"], + StyleBox["Single acting piston with an inertia load and spring", + FontSize->16] +}], "Section", + Evaluatable->False, + CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { + 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, + 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, + 3.8056303262154465`*^9}, + ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8056302888340044`*^9}, + ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9}, + ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { + 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, + 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, + 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { + 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, + 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, + 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { + 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { + 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, + 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, + 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}, { + 3.8056490732137604`*^9, 3.8056490808678637`*^9}}, + ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], + +Cell["\<\ +Single acting pneumatic piston with spring return connected to an inertia load. +The chamber volume is not included in the model but can be considered outside \ +the model.\ +\>", "Text", + CellChangeTimes->{ + 3.80362280378491*^9, {3.8049269528843813`*^9, 3.8049269782841835`*^9}}, + ExpressionUUID -> "abd21bd8-cde0-4513-a339-eb1237cc4233"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002CX0@0006`000160000000001H4002N0@00 +oOoooogooomj4P000PP00215CDH00040j2@00=d0000300000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000<2;A020lTP0000000000/08/>P00S4800000 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001N1000i@40000000000000GP@00>D1000T000090000;02;3X0000000000;02;3X008a2 +00000080000R000030000?oooom60000R0P007`80015CDH[:d0000`0000000007T0600`000000000 +8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00S4800000 +8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020KZM90000081^YdV0]L=8 +0000082e`dP00@61G@U@]Oo?cliM2E2 +0041PAA0080@000010000?ooool8@042>00002`000024<3K000009P0000000000030?`<000000810 +0000008@`=/000000000oaE0000@0000100000400008@083?000030000024<3K1000000P00006cQ1 +02Z3?`c<]D40:XBl4:7hLE1h;Je@HOQaD400@61 +5404P10000040000ooooo`Q01@8h0000;000008@`=/00000V000000000000<0o0`000000P4000000 +0Q30f`000000003o5D040100000400001@0000Q01P8h0000;000008@`=/00000V000000000000<0o +0`000000P40000000Q30f`000000003o24070c@0000X00000Q30f`<0000000006f@b@B[K8d93aJi0 +^77j@E;o?clYM2E20041PAE01`0@0000100000H00008@0P2>00002`000024<3K000009P000000000 +0030?`<0000008100000008@`=/000000000o`Q02@=d0000J000008@`=/:0000000003nB^47@BjE1 +K[CE@MGihD0gfQ92ZAXG@/_n=d:=S=a0PFaL@ZLJ5d;dlh12]I_L@3nfTd;c[1E2R4RV@Sa3gd1TOkQ2 +lJ`E@]1JbT9c7/]000410@410@410@615D09010000040000200000Q02P>X0000W000008@`=/@0000 +020004P;2T<0i]U0[K4<@`3VfD2Pe`i3;e8?@J3G3T>7^3U1X=L>@kYGl46Pe`i3LlD2@Zfa34KI@4UDnT84i]U000<30`430`<10`<30@<3PaA02X0@000010000?ooool8@0/2>00002`000024<3K +000009P0000000000030?`<0000008100000008@`=/000000000oaE02P0@0000100000/00008@0`2 +>00002`000024<3K000009P0000000000030?`<0000008100000008@`=/000000000o`Q03@000050000000000@0000 +500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000=000008000020000 +Bfhe_h1/=Ko_6Q53jc4/@P<0001;KSFoP6`e_h1U44>0K3FoBfhe_cUL:D8Q000020000680000<0000 +0@000240000800007P0001P00016000000000P0000`0000:00006`00010000000000 +000002<0000P0000`Z77@00000000000>6?7@;KGU4:YCHe0900002@00032XLM000000000000hHlM0 +]]ND@ZU=SD040000L`0000`0000000003@0001000016000000000580001`0@000@00010000070000 +00000000002l0P00000000L20R9C07T0L`1d06D0K@00000000000000000000000000000000000000 +00000000000000000000000000000000000WM/1@9gK@EbMfaNB/McSJ_003iZaghb0009WZ[7N?SYR` +b6l042P/7Ng3Yg7o_oooiCJ_02[KK5g00000=9]/GO@b;`E003^2fAf00P000009@0000`000010000 +AP0002P0000L0000AdA9@`80003oooooooooohl0000Y00000000024000080000HP0000`000010000 +8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 +00000080000U000030000000080U0000300000P0081F0000<0000?l100060000a@8000@100050000 +100400@0SP9I1Xh2F@H400@0100U0000300000L0080U000030000000080T000090000000P4400000 +00000000P440000000000080000R000030000?oooolj0000300000@0000Q0000200001h0000H0000 +AP000000002@0000:P0002@0000T00000020?@00000000000020?@00000000000P0005l0000h0000 +0P0003P000000000>000000000008P40600000000000000000000000000000009@0000`000020000 +9@0000`000050020EP0002`0003o0@0010000=/200060@00100000@0101I1P@0F@J>0P@0SP8U0000 +300000L0080U000030000000080T000090000000P440000000000000P440000000000080000R0000 +30000?oooolX000030000080000j0000300000X0000Q0000200001h0000H0000AP000000002@0000 +:P0002@0000T00000020?@00000000000020?@00000000000P0002D0000<00000000P2D0000<0000 +2000P5H0000`0000o`4006h0000f0`00W00000D0001T0A01I0640Gd7Q05m1a01I04@0BD0000<0000 +1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 +ooooocX0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m +000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 +000000000000000000000000000U000030000080000U0000300000D0081F0000;0000?l1001G0000 +C@<00;<000040000I04@0Gd7405m1h@1I0640BD0000<00001`00P2D0000<00000000P2@0000T0000 +0020@@00000000000020@@00000000000P000280000<0000ooooobP0000<00000P0003X0000<0000 +2P0003X0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m +000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 +000000000000000000000000000U000030000080000U0000300000D0081G0000A0000?l1000B0000 +eP8000@1000:0000JP530J@1J@140UD2f09W06X3E@8016L0UPA?0R/5J02l1Dl2B`IN02D0000<0000 +1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 +ooooobP0000<00000P0003X0000<00002P0002@0000T00000020?@00000000000020?@0000000000 +0P0002D0000<00000000P1<0000<00000P0003/0000800006`000100002I2000I@0005P0000X0000 +00000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00F00002P000000000 +00000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000:000000000000000 +ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X000000000000003ooooo +ooooo`<0001n1hP0X@MU0P0000`0000400008@0000P0000N0000600004H000000000T00002X0000T000090000000P3d00000 +00000000P3d0000000000080001O0000>0000080000h0000000003P000000000028101P000000000 +0000000000000000000002D0000<00000P0002D0000<00001@00P3/0000800006`000100002I2000 +I@0005P0000X000000000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00 +F00002P00000000000000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000 +:000000000000000ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X0000 +00000000003oooooooooo`<0001n1hP0X@MU0P0000`0000:0000>P0000`000040000 +8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 +00000080001O0000>0000080000h0000000003P000000000028101P0000000000000000000000000 +000002D0000<00000P0002D0000<00001@00P5L0000X0000K`800;00003K0P001P4000<0002j1Hl2 +0`Ke0ET6TP8U0000300000L0080U000030000000080T000090000000P440000000000000P4400000 +00000080000R000030000?oooolX000030000080000j0000300000X000160000500000P00017A4U3 +0`000280000<0000ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000 +ooooob80000<0000o_ooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o +0000P000080Z@000900001P00007N/I000000000003BOl=0WLZD@S^P0000000000/08/>P00S48000008D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00S4800000:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oLKR=@_Bi_d<4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000005h4003U0@0000000000001N1000 +i@4002@0000T00000020?`00000000000020?g6hSD;d^Km30P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400<]T +8>:l01iE/GLPh[`0_UFaM`T0000`/0l1jEFaMfcR_00`/0l1800000d0301Hh[`0U4Zk5E3R_0000000 +0000P000022LECAgGcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe +IRHQL@008@1V9R5aIRH00:cR_02fOS9eah@007SR_01P8^h;G>Bl00T00002000000000=9]/GO7Q1@0 +ah@4500010000?ooah@Doooooon`X`0011@406@000000000X2W^2kP;2P?Lh[`0k3LWMV0RkP_7Q0@D +2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 +30000000009D0000E00004L0000@0@00P@0009d100020000000000000000000000000040001<0000 +0000000000000000oooooooooom@0000<@0003/0000U0000300000h0080X000030000040000R0000 +30000?oooom60000c0000<000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000 +:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 +10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o +000000000000080o0_4QA3?4_d<4@00030000000000Q0000200001`000080000B`000400000`0000 +1@000200000100000@00010000000000000005h4003U0@0000000000001N1000i@4002@0000T0000 +0020?`00000000000020?`;a8D@ca;m30P0000`0000@000000000000000:00004000000000000000 +DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 +000000000030ib]10000000000000000000000000000000000000<3W:d400000L74H7_oooom`LAPN +E0000040001V9R5a000006HV8G70hK`0800000d0301Hh[`0U4Zk5E3R_00000000000P000042LECAg +GcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAeIRHQL@008@1V9R5a +IRH00:cR_02fOS9eZh0007SR_01P8^h;G>Bl00T00002000000000=9]/GN[P9l0Zh04W`0010000?oo +Zh2Ooooooon`X`0019l406@000000000X2W^2j0;2P?Lh[`0k3LWMV0RkP^[P0BO2@00000000040000 +I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 +E00008P2000A0@00`P8009h100020000000000000000000000000040001<00000000000000000000 +oooooooooom@0000Bl00T00002000000000=9]/GORQ6l0hX@4K`0010000?oohXA_oooooon`X`00 +16l406@000000000X2W^2`0<2P?Lh[`0k3LWMV0RkP_RQ0A_2@00000000040000I7H02000000U0000 +30000040000F0000300001P0000B000030000040000H000030000000009D0000E0000>H3000h0000 +5P@00000050000000000@0000 +5000 +\>"], "Graphics", + ImageSize->{214., 93.2513966480447}, + ImageMargins->{{63, 0}, {0, 0}}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], + +Cell["The name of the component is stored in ComponentName.", "Text", + ExpressionUUID -> "fc663f35-5dac-409c-a0ec-6281d6b5b63c"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { + 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { + 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, + 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { + 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, + 3.8036198831731386`*^9}, {3.8036202178951073`*^9, + 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, + 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, + 3.805630308114118*^9}, 3.8058061733950777`*^9}, + ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\n", " \t", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], + ",", "\n", " \t", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], + ",", "\n", " \t", + RowBox[{"MechanicQnode", "[", + RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { + 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, + 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { + 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, + 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.8056491145840855`*^9, + 3.805649116927668*^9}, 3.805650388227715*^9, {3.805719215914028*^9, + 3.8057192224942408`*^9}, {3.805719918416616*^9, 3.805719925648157*^9}}, + ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + ExpressionUUID -> "4495269b-b1d4-4ebd-af99-f1c375c55315"], + +Cell[BoxData[ + RowBox[{"\t", + RowBox[{ + RowBox[{ + RowBox[{"p1e", " ", "=", " ", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", + RowBox[{ + RowBox[{"p2e", " ", "=", " ", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "qm2"}]}]}], ";"}], "\n", "\t", + RowBox[{ + RowBox[{"fLe", "=", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", + CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { + 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.804927507048891*^9, + 3.8049275130466986`*^9}, {3.8049275609992347`*^9, 3.8049275630291405`*^9}, { + 3.805719576982807*^9, 3.80571957928743*^9}}, + ExpressionUUID -> "d5ca4b5d-6b32-4f2a-a76e-9a3cedf163f1"], + +Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fg", " ", "=", " ", + RowBox[{ + RowBox[{"A1", " ", "p1e"}], " ", "-", " ", + RowBox[{"A2", " ", "p2e"}], "-", + RowBox[{ + RowBox[{"(", + RowBox[{"A1", "-", "A2"}], ")"}], "patm"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { + 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, + 3.803619931058714*^9}, 3.804927513997717*^9}, + ExpressionUUID -> "df1e64d9-2384-43c3-90cf-d959911109f0"], + +Cell["\<\ +Dry friction is modelled with a small linear region for low speeds for \ +numerical reasons\ +\>", "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, + 3.6326809028107214`*^9}, + ExpressionUUID -> "36e2dac7-1064-4be5-be73-60bd41e923f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Bf", "=", + RowBox[{"bfc", " ", + RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { + 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { + 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, + 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, + 3.6330608651106114`*^9}, + ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"fre", "=", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"Bf", " ", "vL"}], ",", + RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}, + CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, + 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, + 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, + 3.633061731221661*^9, 3.8057195804642153`*^9}, + ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"T0", "=", "1."}], ";"}]], "Input", + CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, + 3.6273207475017023`*^9, 3.803624094990635*^9}, + ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Differrential algebraic equations", "Subsection", + CellChangeTimes->{{3.5719031558017125`*^9, + 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ +663ef645837a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"rho1", " ", ":=", " ", + FractionBox["p1", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"rho2", " ", ":=", + FractionBox["p2", + RowBox[{"R", " ", + RowBox[{"(", + RowBox[{"T2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", + CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, + 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}, { + 3.8056497325247784`*^9, 3.8056497363208623`*^9}}, + ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", "=", + RowBox[{"-", "qL2"}]}], ";"}]], "Input", + CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, + 3.8057195817349052`*^9}, + ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"q1e", "=", + RowBox[{"qm1", "/", "rho1"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"q2e", "=", + RowBox[{"qm2", "/", "rho2"}]}], ";"}]}], "Input", + CellChangeTimes->{ + 3.8049274368531656`*^9, {3.805649213945594*^9, 3.8056492142323008`*^9}}, + ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"cp", "=", + RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, + ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], + +Cell[BoxData[ + RowBox[{"systemEquationsDA", " ", ":=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"mL", " ", + RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", + RowBox[{ + RowBox[{"(", + RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", + RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", + RowBox[{"(", + RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", + "\[IndentingNewLine]", + RowBox[{"qm1", " ", "\[Equal]", + RowBox[{"-", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", + RowBox[{"Cip", "*", + RowBox[{"(", + RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"A2", " ", "rho2", " ", "vL"}], " ", "+", " ", + RowBox[{"Cip", "*", + RowBox[{"(", + RowBox[{"p1", "-", "p2"}], ")"}]}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1", " ", "cp", " ", "T1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", " ", "T2"}]}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { + 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, + 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { + 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, + 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { + 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { + 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, + 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { + 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, + 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { + 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, + 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, + 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { + 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, + 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, + 3.8056491606455727`*^9, 3.8056491960410633`*^9, {3.805719582665945*^9, + 3.8057195875119467`*^9}}, + ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179141015143`*^9, + 3.8050179155584116`*^9}},ExpressionUUID->"7a00d647-ff13-455e-b6ed-\ +630874d7c8f9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"fL", " ", "==", " ", + RowBox[{"cL", " ", "+", " ", + RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { + 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, + 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { + 3.8049274406392603`*^9, 3.804927442192658*^9}, 3.8056491523531322`*^9, { + 3.8057195882741594`*^9, 3.8057195897156725`*^9}}, + ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], + +Cell["The vector of independent variables of the system are", "Text", + CellChangeTimes->{{3.524850810625*^9, + 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ +b44c06bce4a8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", "=", " ", + RowBox[{"{", + RowBox[{ + "vL", ",", "xL", ",", "qm1", ",", "qm2", ",", "dE1", ",", "dE2", ",", + "p1", ",", "p2", ",", "fL"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { + 3.8036206574574633`*^9, 3.803620685395481*^9}, {3.80362983059277*^9, + 3.8036298350652122`*^9}, {3.8049275428759294`*^9, 3.8049275439138584`*^9}, { + 3.804927576432316*^9, 3.8049275774153023`*^9}, {3.8057195907156405`*^9, + 3.805719592235074*^9}}, + ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], + +Cell["Limitations", "Text", + CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, + 3.8036206934694366`*^9, {3.8036208660567694`*^9, + 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ +08c613090723"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"variable2Limits", "=", + RowBox[{"{", + RowBox[{"{", + RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, + 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { + 3.805719593856402*^9, 3.8057195942719727`*^9}}, + ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,124,36, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611068647*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,124,37, + 16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611112602*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Pneumati\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"ringMass\\\\\ +\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}]}], \\\"}\ +\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ +\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ +\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ +\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ +\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}]}], \\\"}\ +\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ +\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,124,38,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.8057196111465664`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,124,39,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611183529*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 124,40,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.8057196112144966`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,124,41,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.8057196112464633`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,124,42,16369274701888019615, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.8057196112754335`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,124,43,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611304404*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,124,44,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611333374*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 124,45,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.8057196113613453`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,124,46,16369274701888019615,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, + 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, + 3.805719611388317*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{862, 666}, +WindowMargins->{{360, Automatic}, {143, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 497, 11, 88, "Section", + Evaluatable->False], +Cell[1079, 35, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1437, 43, 505, 12, 50, "Input"], +Cell[1945, 57, 816, 15, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2764, 74, 1832, 37, 164, "Input"], +Cell[CellGroupData[{ +Cell[4621, 115, 98, 0, 49, "Subsection"], +Cell[4722, 117, 347, 7, 49, "Text"], +Cell[5072, 126, 12927, 162, 102, "Graphics"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18036, 293, 96, 0, 49, "Subsection"], +Cell[18135, 295, 129, 1, 30, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18301, 301, 101, 0, 49, "Subsection"], +Cell[18405, 303, 3755, 84, 373, "Input"], +Cell[22163, 389, 1219, 25, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[23419, 419, 104, 1, 49, "Subsection"], +Cell[23526, 422, 781, 19, 69, "Input"], +Cell[24310, 443, 97, 0, 30, "Text"], +Cell[24410, 445, 501, 12, 30, "Input"], +Cell[24914, 459, 322, 7, 30, "Text", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[25239, 468, 502, 10, 30, "Input"], +Cell[25744, 480, 567, 12, 30, "Input", + CellGroupingRules->{GroupTogetherGrouping, 10000.}], +Cell[26314, 494, 244, 5, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26595, 504, 183, 3, 49, "Subsection"], +Cell[26781, 509, 627, 16, 94, "Input"], +Cell[27411, 527, 243, 6, 30, "Input"], +Cell[27657, 535, 353, 9, 50, "Input"], +Cell[28013, 546, 220, 5, 30, "Input"], +Cell[28236, 553, 2701, 57, 164, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[30974, 615, 162, 3, 49, "Subsection"], +Cell[31139, 620, 1049, 24, 107, "Input"], +Cell[32191, 646, 192, 3, 30, "Text"], +Cell[32386, 651, 601, 12, 30, "Input"], +Cell[32990, 665, 230, 4, 30, "Text"], +Cell[33223, 671, 436, 10, 30, "Input"], +Cell[CellGroupData[{ +Cell[33684, 685, 122, 2, 30, "Input"], +Cell[33809, 689, 505, 10, 21, "Message"], +Cell[34317, 701, 505, 10, 21, "Message"], +Cell[34825, 713, 5778, 84, 148, "Message"], +Cell[40606, 799, 393, 8, 21, "Message"], +Cell[41002, 809, 537, 10, 21, "Message"], +Cell[41542, 821, 395, 8, 21, "Message"], +Cell[41940, 831, 537, 11, 21, "Message"], +Cell[42480, 844, 393, 8, 21, "Message"], +Cell[42876, 854, 465, 9, 21, "Message"], +Cell[43344, 865, 537, 10, 21, "Message"], +Cell[43884, 877, 468, 9, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPistonSpringMass.svg b/devPneumatic/PneumaticPistonSpringMass.svg new file mode 100644 index 0000000..db049bc --- /dev/null +++ b/devPneumatic/PneumaticPistonSpringMass.svg @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPistonSpringMass.xml b/devPneumatic/PneumaticPistonSpringMass.xml new file mode 100644 index 0000000..7fbe4dd --- /dev/null +++ b/devPneumatic/PneumaticPistonSpringMass.xml @@ -0,0 +1,20 @@ + + + + + + + + + Double acting pneumatic piston with spring return + PneumaticPistonSASpringMass.nb + PneumaticPistonSASpringMass.pdf + + + + + + + + + diff --git a/devPneumatic/PneumaticPressureActivation.hpp b/devPneumatic/PneumaticPressureActivation.hpp new file mode 100644 index 0000000..863a57a --- /dev/null +++ b/devPneumatic/PneumaticPressureActivation.hpp @@ -0,0 +1,168 @@ +#ifndef PNEUMATICPRESSUREACTIVATION_HPP_INCLUDED +#define PNEUMATICPRESSUREACTIVATION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPressureActivation.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Sat 15 Aug 2020 11:17:35 +//! @brief Pneumatic pressure activation +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticPressureActivation.nb*/ + +using namespace hopsan; + +class PneumaticPressureActivation : public ComponentQ +{ +private: + double pso; + double psmax; + Port *mpP1; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double u; + //LocalExpressions variables + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mppso; + double *mppsmax; + //outputVariables pointers + double *mpu; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPressureActivation(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("pso", "Opening pressure", "Pa", \ +800000.,&mppso); + addInputVariable("psmax", "Fully open pressure", "Pa", \ +900000.,&mppsmax); + //Add outputVariables to the component + addOutputVariable("u","Activation signal, 0Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Pressure activation", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { + 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9, + 3.8063243197251673`*^9, {3.8064375326311784`*^9, 3.8064375367259536`*^9}}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, + 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, + 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9, + 3.8063179342198133`*^9, 3.806324422734913*^9, 3.8064375796177106`*^9, { + 3.80646837432477*^9, 3.8064683960433674`*^9}, 3.806471854898751*^9}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, + 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, + 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, + 3.8063174798874598`*^9, 3.8063179344945307`*^9, 3.8063244230395975`*^9, + 3.8064375800143013`*^9, {3.806468374643443*^9, 3.806468396171236*^9}, + 3.8064718551185246`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, + 3.806254000378049*^9}, 3.8062574817317266`*^9, {3.8063243306099396`*^9, + 3.806324349461499*^9}, 3.806324416298551*^9, {3.806437545551852*^9, + 3.8064375658948655`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "15", ",", "11", ",", "17", ",", + "35.1285146`9.298234679848754"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, + 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, + 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, + 3.806317479907439*^9, 3.806317934518506*^9, 3.806324423093542*^9, + 3.806437580047267*^9, {3.8064683746843987`*^9, 3.8064683962091956`*^9}, + 3.8064718551584835`*^9}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { + 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, + 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}, { + 3.8064373273928843`*^9, 3.806437327984272*^9}, {3.8064375055900707`*^9, + 3.806437508694868*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "u", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, + 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}, { + 3.8064372860105677`*^9, 3.806437322996417*^9}, {3.8064683298766193`*^9, + 3.806468349307577*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], + "]"}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, + 3.8062575891968765`*^9, {3.806437273751213*^9, 3.8064372785123034`*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"p1", "\[Equal]", "c1"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.806471833286044*^9, 3.8064718402288837`*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"u", "\[Equal]", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"p1", "-", "pso"}], + RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}, + 3.8064373447759533`*^9, 3.8064374100666037`*^9, {3.80643745365664*^9, + 3.8064374562170005`*^9}, 3.8064375245025635`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell["\<\ +expressions = { + p1 == c1 + };\ +\>", "Text", + CellChangeTimes->{{3.8064718131907744`*^9, 3.806471850285509*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticPressureActivation\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\ +\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ +\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"u\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\ +\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ +\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"u\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,511, + 120,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, + 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, + 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, + 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, + 3.8064683964159827`*^9}, 3.8064718554921393`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,511,121,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, + 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, + 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, + 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, + 3.8064683964159827`*^9}, 3.8064718555560737`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,511,122,16373258516650437284, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, + 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, + 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, + 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, + 3.8064683964159827`*^9}, 3.8064718555880404`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,511,123,16373258516650437284,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, + 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, + 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, + 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, + 3.8064683964159827`*^9}, 3.8064718556180086`*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData["file"], "Input", + CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticPressureActivation.hpp\"\>"], "Output", + CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, + 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, + 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9, + 3.806317936501461*^9, 3.8063244248177633`*^9, 3.8064375807335596`*^9, { + 3.806468375370692*^9, 3.806468396569824*^9}, 3.806471855712911*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 757}, +WindowMargins->{{Automatic, 80}, {-55, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 470, 6, 70, "Section"], +Cell[1053, 30, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1769, 44, 484, 11, 30, "Input"], +Cell[2256, 57, 2076, 28, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[4369, 90, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4727, 98, 750, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[5492, 115, 609, 9, 30, "Output"], +Cell[CellGroupData[{ +Cell[6126, 128, 1842, 38, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7971, 168, 2429, 36, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[10437, 209, 98, 0, 49, "Subsection"], +Cell[10538, 211, 602, 9, 49, "Text"], +Cell[11143, 222, 1693, 30, 107, "Input"], +Cell[12839, 254, 1172, 21, 69, "Input"], +Cell[14014, 277, 1294, 20, 69, "Input"] +}, Open ]], +Cell[15323, 300, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[CellGroupData[{ +Cell[15493, 306, 159, 3, 41, "Subsection"], +Cell[15655, 311, 267, 6, 69, "Input"], +Cell[15925, 319, 1052, 21, 112, "Input"], +Cell[16980, 342, 125, 5, 68, "Text"], +Cell[CellGroupData[{ +Cell[17130, 351, 122, 2, 30, "Input"], +Cell[17255, 355, 5638, 81, 95, "Message"], +Cell[22896, 438, 586, 11, 21, "Message"], +Cell[23485, 451, 728, 14, 21, "Message"], +Cell[24216, 467, 586, 11, 21, "Message"] +}, Open ]], +Cell[CellGroupData[{ +Cell[24839, 483, 97, 1, 30, "Input"], +Cell[24939, 486, 505, 6, 87, "Output"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPressureActivation.svg b/devPneumatic/PneumaticPressureActivation.svg new file mode 100644 index 0000000..a6ab3f7 --- /dev/null +++ b/devPneumatic/PneumaticPressureActivation.svg @@ -0,0 +1,1346 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPressureActivation.xml b/devPneumatic/PneumaticPressureActivation.xml new file mode 100644 index 0000000..4262b1d --- /dev/null +++ b/devPneumatic/PneumaticPressureActivation.xml @@ -0,0 +1,19 @@ + + + + + + + + + Pneumatic Pressure Activation. + PneumaticPressureActivation.nb + PneumaticPressureActivation.pdf + + + + + + + + diff --git a/devPneumatic/PneumaticPsource.hpp b/devPneumatic/PneumaticPsource.hpp new file mode 100644 index 0000000..9bf7c21 --- /dev/null +++ b/devPneumatic/PneumaticPsource.hpp @@ -0,0 +1,159 @@ +#ifndef PNEUMATICPSOURCE_HPP_INCLUDED +#define PNEUMATICPSOURCE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPsource.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 26 Aug 2020 09:10:02 +//! @brief Exhaust to ambient air +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticPsource.nb*/ + +using namespace hopsan; + +class PneumaticPsource : public ComponentC +{ +private: + Port *mpP1; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; +//==This code has been autogenerated using Compgen== + //inputVariables + double pin; + double Tin; + //outputVariables + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mppin; + double *mpTin; + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticPsource(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("pin","Pressure","Pa",100000.,&mppin); + addInputVariable("Tin","Input temperature","K",293.,&mpTin); + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + + //Read inputVariables from nodes + pin = (*mppin); + Tin = (*mpTin); + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + + //Read inputVariables from nodes + pin = (*mppin); + Tin = (*mpTin); + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + c1 = pin; + T1 = Tin; + Zc1 = 0.; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICPSOURCE_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPsource.nb b/devPneumatic/PneumaticPsource.nb new file mode 100644 index 0000000..25d5612 --- /dev/null +++ b/devPneumatic/PneumaticPsource.nb @@ -0,0 +1,277 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 11030, 269] +NotebookOptionsPosition[ 9662, 223] +NotebookOutlinePosition[ 10314, 245] +CellTagsIndexPosition[ 10271, 242] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Psource", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { + 3.8049422173232346`*^9, 3.804942220674777*^9}, {3.807355243014697*^9, + 3.8073552479983754`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{3.8048708156393595`*^9, 3.8049204063837996`*^9, + 3.8073554068326993`*^9, 3.8073561051087275`*^9, 3.8074145544575667`*^9}, + ExpressionUUID -> "98ae55da-065c-4b5f-836a-17dbb640be61"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, 3.8073552814221153`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\\"\>"], "Output", + CellChangeTimes->{3.803622590499139*^9, 3.803622702663488*^9, + 3.803622815134305*^9, 3.803623721373517*^9, 3.8036238601093044`*^9, + 3.803623937994834*^9, 3.8036239934748945`*^9, 3.8036241341065946`*^9, + 3.8036298008030453`*^9, 3.8036298444978075`*^9, 3.803630061320653*^9, + 3.8036301755286026`*^9, 3.8036305333496456`*^9, 3.8036306272029896`*^9, + 3.8036313896297965`*^9, 3.803633367395686*^9, 3.8036344882389812`*^9, + 3.8036346470245395`*^9, 3.8038136623939295`*^9, 3.804242834707038*^9, + 3.804242875430032*^9, 3.804406806214493*^9, 3.8044068860835514`*^9, + 3.8048706919958982`*^9, 3.8048708156023965`*^9, 3.8049204063398457`*^9, + 3.8073554069017377`*^9, 3.8073561051777563`*^9, 3.807414554486539*^9}, + ExpressionUUID -> "73a48a58-ad2e-40dc-bf53-0fdb098702fc"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, {3.8074145916550436`*^9, + 3.8074145942054143`*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.8049421893950415`*^9, 3.804942209842949*^9}, { + 3.807355253646018*^9, 3.8073552597153606`*^9}, 3.8074145428645215`*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "26", ",", "9", ",", "9", ",", + "14.5005229`8.91395861448468"}], "}"}]], "Output", + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.8073554069642305`*^9, + 3.807356105240232*^9, 3.8074145545175066`*^9}, + ExpressionUUID -> "ec7aa9b0-43a5-40fc-9a12-96132f1b61a2"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "pin", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Tin", ",", "293.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.804942099979274*^9, 3.8049421534511175`*^9}, {3.804942236025941*^9, + 3.8049422391377306`*^9}, {3.8061260347791276`*^9, 3.806126053768955*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.804942088899703*^9, + 3.8049420899236465`*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"c1", "\[Equal]", "pin"}], ",", "\[IndentingNewLine]", + RowBox[{"T1", "\[Equal]", "Tin"}], ",", "\[IndentingNewLine]", + RowBox[{"Zc1", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.804870613309064*^9, 3.8048706633414555`*^9, {3.804941709304257*^9, + 3.8049417911847982`*^9}, {3.804941848960205*^9, 3.804941922326524*^9}, { + 3.8049419636129365`*^9, 3.8049419756045685`*^9}, {3.8049420136283455`*^9, + 3.804942023779874*^9}, 3.8073560876930985`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9}, + ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{872, 694}, +WindowMargins->{{Automatic, 440}, {53, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 332, 5, 70, "Section"], +Cell[914, 29, 337, 4, 30, "Output"], +Cell[CellGroupData[{ +Cell[1276, 37, 468, 10, 30, "Input"], +Cell[1747, 49, 894, 12, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[2678, 66, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3036, 74, 782, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[3855, 94, 1514, 32, 183, "Input"], +Cell[5372, 128, 1219, 19, 30, "Output"] +}, Open ]], +Cell[6606, 150, 907, 19, 88, "Input"], +Cell[7516, 171, 771, 14, 69, "Input"], +Cell[CellGroupData[{ +Cell[8312, 189, 88, 0, 49, "Subsection"], +Cell[8403, 191, 146, 2, 30, "Text"], +Cell[8552, 195, 699, 14, 107, "Input"], +Cell[9254, 211, 255, 4, 30, "Input"], +Cell[9512, 217, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticPsourceM.hpp b/devPneumatic/PneumaticPsourceM.hpp new file mode 100644 index 0000000..cefcbb8 --- /dev/null +++ b/devPneumatic/PneumaticPsourceM.hpp @@ -0,0 +1,136 @@ +#ifndef PNEUMATICPSOURCEM_HPP_INCLUDED +#define PNEUMATICPSOURCEM_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPsourceM.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 11 Aug 2020 11:21:36 +//! @brief Pressure source +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from + + +using namespace hopsan; + + class PneumaticPsourceM : public ComponentC + { + + private: + double mPh; + double V,R,cv,Tin,pin,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; + Port *mpP1; + size_t mNumPorts; + std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; + double *mpV, *mpR, *mpcv,*mppin,*mpTin, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; + + std::vector mvCnew; + std::vector mvC0; + + public: + static Component *Creator() + { + return new PneumaticPsourceM(); + } + + void configure() + { + //Add ports to the component + mpP1 = addPowerMultiPort("P1", "NodePneumatic"); + + + //Add inputParammeters to the component + addInputVariable("pin","Pressure","Pa",100000.,&mppin); + addInputVariable("Tin","Input temperature","K",293.,&mpTin); + + setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); + setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); + setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); + + //Add outputVariables to the mass + + } + + + void initialize() + { +// double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; + //Read inputParameters from nodes + pin = (*mppin); + Tin = (*mpTin); + + //Read outputVariables from nodes + + + mNumPorts = mpP1->getNumPorts(); + mvpP1_p.resize(mNumPorts); + mvpP1_qm.resize(mNumPorts); + mvpP1_T.resize(mNumPorts); + mvpP1_dE.resize(mNumPorts); + mvpP1_c.resize(mNumPorts); + mvpP1_Zc.resize(mNumPorts); + + + //InitialExpressions +// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); + ZcE = 0.; + + for (size_t i=0; i + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticPsourceM.xml b/devPneumatic/PneumaticPsourceM.xml new file mode 100644 index 0000000..0ea52c9 --- /dev/null +++ b/devPneumatic/PneumaticPsourceM.xml @@ -0,0 +1,19 @@ + + + + + + + + + Pnenumatic multiport pressure source. + PneumaticPsourceM.pdf + + + + + + + + + diff --git a/devPneumatic/PneumaticRestrictor.hpp b/devPneumatic/PneumaticRestrictor.hpp new file mode 100644 index 0000000..9f950a0 --- /dev/null +++ b/devPneumatic/PneumaticRestrictor.hpp @@ -0,0 +1,421 @@ +#ifndef PNEUMATICRESTRICTOR_HPP_INCLUDED +#define PNEUMATICRESTRICTOR_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticRestrictor.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:48:14 +//! @brief Pneumatic restrictor +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticRestrictor.nb*/ + +using namespace hopsan; + +class PneumaticRestrictor : public ComponentQ +{ +private: + double Bf; + double Cf; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[7]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double qmP; + double qmN; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqmP; + double *mpqmN; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticRestrictor(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(7,7); + systemEquations.create(7); + delayedPart.create(8,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ +0.528,&mpBf); + addInputVariable("Cf", "C, ISO flow coefficient", "", \ +1.e-14,&mpCf); + addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); + addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); + //Add outputVariables to the component + addOutputVariable("qmP","Internal variable","kg/s",0.,&mpqmP); + addOutputVariable("qmN","Internal variable","kg/s",0.,&mpqmN); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,7); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //Read outputVariables from nodes + qmP = (*mpqmP); + qmN = (*mpqmN); + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + cp = cv + R; + + //Initialize delays + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(7); + Vec stateVark(7); + Vec deltaStateVar(7); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //LocalExpressions + cp = cv + R; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = qmP; + stateVark[1] = qmN; + stateVark[2] = qm2; + stateVark[3] = dE1; + stateVark[4] = dE2; + stateVark[5] = p1; + stateVark[6] = p2; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //Restrictor + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =qmP - Cf*p0*p1*Sqrt(T0/T1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[1] =qmN - Cf*p0*p2*Sqrt(T0/T2)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[2] =qm2 + qmN*onNegative(p1 - p2) - \ +qmP*onPositive(p1 - p2); + systemEquations[3] =dE1 + cp*qm2*(T1*onNegative(-qm2) + \ +T2*onPositive(-qm2)); + systemEquations[4] =dE2 - cp*qm2*(T2*onNegative(qm2) + \ +T1*onPositive(qm2)); + systemEquations[5] =-c1 + p1 - dE1*Zc1; + systemEquations[6] =-c2 + p2 - dE2*Zc2; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = 0; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = -(Cf*p0*p1*Sqrt(T0/T1)*((-2*(p1 - \ +Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ +Cf*p0*Sqrt(T0/T1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[0][6] = -(Cf*p0*p1*Sqrt(T0/T1)*(((2*Bf*(p1 - \ +Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ +(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); + jacobianMatrix[1][0] = 0; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = -(Cf*p0*p2*Sqrt(T0/T2)*((-2*(p1 - \ +Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); + jacobianMatrix[1][6] = -(Cf*p0*p2*Sqrt(T0/T2)*(((2*Bf*(p1 - \ +Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ +(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - Cf*p0*Sqrt(T0/T2)*(onNegative(-Bf \ ++ p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[2][0] = -onPositive(p1 - p2); + jacobianMatrix[2][1] = onNegative(p1 - p2); + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = 0; + jacobianMatrix[3][0] = 0; + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = cp*(T1*onNegative(-qm2) + \ +T2*onPositive(-qm2)); + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = -(cp*(T2*onNegative(qm2) + \ +T1*onPositive(qm2))); + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = -Zc1; + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = 0; + jacobianMatrix[6][2] = 0; + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = -Zc2; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + qmP=stateVark[0]; + qmN=stateVark[1]; + qm2=stateVark[2]; + dE1=stateVark[3]; + dE2=stateVark[4]; + p1=stateVark[5]; + p2=stateVark[6]; + //Expressions + qm1 = -qm2; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //outputVariables + (*mpqmP)=qmP; + (*mpqmN)=qmN; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICRESTRICTOR_HPP_INCLUDED diff --git a/devPneumatic/PneumaticRestrictor.nb b/devPneumatic/PneumaticRestrictor.nb new file mode 100644 index 0000000..a7cdd14 --- /dev/null +++ b/devPneumatic/PneumaticRestrictor.nb @@ -0,0 +1,736 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 33197, 728] +NotebookOptionsPosition[ 30777, 653] +NotebookOutlinePosition[ 31429, 675] +CellTagsIndexPosition[ 31386, 672] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Restrictor", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { + 3.8056149554872293`*^9, 3.8056149578457985`*^9}}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, 3.8050176650180016`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, 3.805022093004465*^9, {3.8056149610634813`*^9, + 3.8056149685627427`*^9}, 3.8056280124531794`*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "48", ",", + "12.7417257`8.857803207916582"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, + 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, + 3.8051078642885723`*^9, 3.8056150680541162`*^9, 3.8056237588861*^9, + 3.805624092803662*^9}, + ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], + +Cell[BoxData[ + RowBox[{"eps", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, + 3.805022093004465*^9}, + ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], + +Cell[TextData[{ + "This is a simple fixed pneumatic restrictor with two ports. \n\n", + Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0001OT0@0006`00016000000000103000<0@00 +oOoooogooolU3P00Q@@00215CDH00040i1L006l0000300000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001FA000RDP0000000000/08/>P0084<00000 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001H0`004P40000000000000F0<00181000T000090000;02;3X0000000000;02;3X00213 +00000080000R000030000?oooom60000l0H00>@60015CDH[:d0000`0000000007T0600`000000000 +8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P0084<00000 +8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020;4Q90000080/B4V0;X0000W000008@`=/@000000000:A6jd:agR53nd[[@[7N8D=oC^]2JnDQ@gm>jd:gkB53 +Odk[@^k0;4=oC^]2>/T/@o]:jd;dcba3Y4K[@_C?;4=EbKi2m00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 +0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000VYTI?`<000000810 +0000008@`=/000000000o`Q00`00002`000024<3K000009P000000000VYTI?`<0000008100000008@`=/000000000o`Q01`=H0000 +C000008@`=/7000002000;lBbT9DI2U3_a;:@UAT:D?`RLi2`U4X@e/ceD8mBBQ3aMcK@[I0:4?UTN12 +E6@Y@nFAh49DI2U300<30`<30`4E@0L0400000@000060000:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000000Q020@H00003000008@`=/00000 +0`0043A0200<00000000024000080000HP0000`000010000C00006@0003moooooOoooeP0000]0000 +oOoooogooomL0000<@0002T0ZP00000000000000P3l0000000000000P3l000000000000000000000 +000000000000000000000280000<0000ooooodH0000L0000400004E=AR/2@00030000000000>0000 +50000000000@0000500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000 +=000008000020000Bfhe_h1/=Klgnje2PoT_@P<0001;KSFoP6`e_eZ@[4:0K3FoBfhe_m4S;D8Q0000 +20000680000<00000@000240000800007P0001P0002P000000000;X2000=0@00700000P0000Q0000 +2000024000080000L`0000`000000000700000P0000U000030000000080U0000300000L0080U0000 +300000h0080I000030000?ooo`0H000030000000000B000030000080000C000030000040000D0000 +300000d0000E000030000040000F000030000000000=00004000000000000000>P0000`0000:0000 +6`00010000000000000002<0000P0000k=G7@00000000000XGS7@09]94?EG8e0900002@0003/eLM0 +00000000002QN5?042P/7NA[X_ko_ooo`CJC`2[KK5g00000=9]/GL@9=P0000`0000400008@0000P0000N0000600000000000000000000000000T0000 +90000000P3d0000000000000P3d0000000000080001O0000>0000080000h0000000003P000000000 +02810200000000000000000000000000000002D0000<00000P0002D0000<00001@00P3/000080000 +6`000100001;1@00200005P0000X000000000000003oooooooooo`<0001;1@P0C0D:04`5300f0000 +400004`5002K0P00F00002P00000000000000?oooooooooo0`0004`5W@9;1Ih2B`FN0SH0000@0000 +2@0009h2001H0000:000000000000000ooooooooool300002@2N0PP0W@8809/2=P00010000080000 +300005P0000X000000000000003oooooooooo`<0000800X02@0800T0200m0000200003`000080000 +@00001P00000000000000?oooooooooo9@0000`0000700209@0000`000000020900002@000000811 +000000000000081100000000000200008P0000`0003ooooo:00000`000020000>P0000`0000:0000 +AP0001@000080000AdA9@`<0000R000030000?oooolR000030000?oooolU0000300000d0080X0000 +30000040000R000030000?oooolR000030000?kooom60000o0400?010015CDH[;40002@0000H0000 +0020?`00000000000020?`0008000020:T0002@0000H00001NS5@000000000007j[3@19R94P0000000000/08/>P0084<00000940000`000000000:d0000`000000000 +7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P000080005I4 +0029@cA00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213 +000002501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213000002Y0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 +8D0700`000000000:T0002@0000H00000020?`00000000000020?nBL=DBXORa3140000`000000000 +8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000001H0`00 +4P40000000000000F0<00181000T000090000000P3l0000000000000P3oTW3E4Z7h/@`80000<0000 +40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 +000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 +000000000030ib]100010000001=0000000002SQC`0A0000100009SWC`1HhTl0@:2`Me6]Ro_noooo +`>5?05?0060001_=CAe0000000000000000 +00000:PEmhj9?0>`g9gKPDoX9;1T410T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 +4P0000`000010000600000`000000002E00005@0003F0P00?P000103003;00000P00000000000000 +0000000000010000C00000000000000000000?ooooooooooD0000380H>0k00009@0000`0000>0020 +:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?i0MS4:XORa3140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001H0`004P40000000000000 +F0<00181000T000090000000P3l0000000000000P3n@7Ha2Z7h/@`80000<00004000000000000000 +2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 +K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 +00010000001=0000000005@0000A0000SChQm@00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 +JWL4o`T000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@000160000?P000800003;00000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340Z/Hk00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +X0000000002i0P0030400:00000000006P8000d1000Y0:X0000000000000080o000000000000080o +0000000000000000000000000000000000000000000R000030000?oooom60000700001000015CDH[ +0T0000`0000000003P0001@000000000400001@0 +\>"], "Graphics", + GeneratedCell->False, + CellAutoOverwrite->False, + ImageSize->{234., 75.15328467153284}, + ImageMargins->{{0, 0}, {0, 80}}] +}], "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050228848734484`*^9, 3.8050229142901974`*^9}, {3.8056281158824916`*^9, + 3.8056281567183695`*^9}}, + ExpressionUUID -> "f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "14"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, + 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { + 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, + 3.805107447216238*^9}, {3.8056237387208996`*^9, 3.8056237519422646`*^9}, { + 3.8056240840007424`*^9, 3.8056240846780434`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, + 3.805022852714327*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The input signal is limited between 0 and 1.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, + 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Cfe", "=", "Cf"}], " ", ";"}]], "Input", + CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { + 3.8051070382200217`*^9, 3.805107097045391*^9}, 3.8056150177300262`*^9}, + ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", " ", "=", " ", + RowBox[{"-", "qm2"}]}], ";"}]], "Input", + CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, + 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, + 3.8048706405459685`*^9}, + ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], + +Cell[BoxData[ + RowBox[{"NgPos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, + ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], + +Cell[BoxData[ + RowBox[{"NgNeg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, + ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], + ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, + 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { + 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, + 3.8051078460746803`*^9}, {3.8056150485602245`*^9, 3.8056150501685653`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell["Expressions that are evaluated before the system equations", "Text", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { + 3.80502217704597*^9, + 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { + 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, + 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { + 3.805022272779731*^9, + 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ +3c55a8691acc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmP", "==", + RowBox[{"Cfe", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qmN", "==", + RowBox[{"Cfe", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm2", "==", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], + ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, + 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { + 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, + 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { + 3.805107119679675*^9, 3.805107124187194*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.805017881102742*^9, + 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, + 3.8048706590878425`*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", + "p2"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, + 3.804870662382444*^9}}, + ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qm1", "==", + RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9}, + ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +}, +WindowSize->{834, 649}, +WindowMargins->{{Automatic, 323}, {14, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 287, 4, 70, "Section"], +Cell[869, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1227, 36, 533, 12, 50, "Input"], +Cell[1763, 50, 814, 15, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2602, 69, 1617, 35, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4222, 106, 1393, 22, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5618, 130, 255, 5, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[5910, 140, 98, 0, 41, "Subsection"], +Cell[6011, 142, 8815, 115, 137, "Text"], +Cell[14829, 259, 2139, 46, 196, "Input"], +Cell[16971, 307, 721, 17, 88, "Input"], +Cell[17695, 326, 935, 18, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[18667, 349, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[18815, 353, 236, 4, 30, "Text"], +Cell[19054, 359, 278, 5, 30, "Input"], +Cell[19335, 366, 214, 5, 30, "Text"], +Cell[19552, 373, 315, 7, 30, "Input"], +Cell[19870, 382, 1034, 23, 74, "Input"], +Cell[20907, 407, 981, 22, 74, "Input"], +Cell[21891, 431, 1617, 41, 94, "Input"], +Cell[23511, 474, 252, 4, 30, "Text"], +Cell[23766, 480, 793, 15, 69, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[24596, 500, 224, 4, 49, "Subsection"], +Cell[24823, 506, 3111, 64, 229, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[27971, 575, 160, 3, 49, "Subsection"], +Cell[28134, 580, 816, 19, 88, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[28987, 604, 174, 3, 49, "Subsection"], +Cell[29164, 609, 592, 12, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[29793, 626, 88, 0, 49, "Subsection"], +Cell[29884, 628, 146, 2, 30, "Text"], +Cell[30033, 632, 333, 7, 69, "Input"], +Cell[30369, 641, 255, 4, 30, "Input"], +Cell[30627, 647, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticRestrictor.pdf b/devPneumatic/PneumaticRestrictor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e3e23303e029e04b14d502af03e71417de51c54f GIT binary patch literal 75125 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�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 Pje(^Em#V6(zZ(|-y16f$ literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticRestrictor.svg b/devPneumatic/PneumaticRestrictor.svg new file mode 100644 index 0000000..df2f6ae --- /dev/null +++ b/devPneumatic/PneumaticRestrictor.svg @@ -0,0 +1,811 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticRestrictor.xml b/devPneumatic/PneumaticRestrictor.xml new file mode 100644 index 0000000..b814392 --- /dev/null +++ b/devPneumatic/PneumaticRestrictor.xml @@ -0,0 +1,20 @@ + + + + + + + + + Pnenumatic Restrictor. + PneumaticRestrictor.pdf + PneumaticRestrictor.nb + + + + + + + + + diff --git a/devPneumatic/PneumaticSourceM.hpp b/devPneumatic/PneumaticSourceM.hpp new file mode 100644 index 0000000..9d28372 --- /dev/null +++ b/devPneumatic/PneumaticSourceM.hpp @@ -0,0 +1,120 @@ +#ifndef PNEUMATICPSOURCEM_HPP_INCLUDED +#define PNEUMATICPSOURCEM_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPsourceM.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 11 Aug 2020 11:21:36 +//! @brief Pressure source +//! @ingroup PneumaticComponents +//! + +using namespace hopsan; + + class PneumaticPsourceM : public ComponentC + { + + private: + double mPh; + double R,cv,pin,Tin,ZcE; + Port *mpP1; + size_t mNumPorts; + std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; + double *mpR, *mpcv,*mpTin,*mppin; + + public: + static Component *Creator() + { + return new PneumaticPsourceM(); + } + + void configure() + { + //Add ports to the component + mpP1 = addPowerMultiPort("P1", "NodePneumatic"); + + //Add inputParammeters to the component + addInputVariable("pin","Pressure","Pa",100000.,&mppin); + addInputVariable("Tin","Input temperature","K",293.,&mpTin); + + setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); + setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); + setDefaultStartValue(mpP1, NodePneumatic::TEMPERATURE, 297.); + setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); + + //Add outputVariables to the component + } + + + void initialize() + { +// + //Read inputParameters from nodes + pin = (*mppin); + Tin = (*mpTin); + //Read outputVariables from nodes + + mNumPorts = mpP1->getNumPorts(); + mvpP1_p.resize(mNumPorts); + mvpP1_qm.resize(mNumPorts); + mvpP1_T.resize(mNumPorts); + mvpP1_dE.resize(mNumPorts); + mvpP1_c.resize(mNumPorts); + mvpP1_Zc.resize(mNumPorts); + + + //InitialExpressions + ZcE = 0.; + + for (size_t i=0; i +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticPsourceM.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 11 Aug 2020 11:21:36 +//! @brief Pressure source +//! @ingroup PneumaticComponents +//! + +using namespace hopsan; + + class PneumaticPsourceM : public ComponentC + { + + private: + double mPh; + double R,cv,pin,Tin,ZcE; + Port *mpP1; + size_t mNumPorts; + std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; + double *mpR, *mpcv,*mpTin,*mppin; + + public: + static Component *Creator() + { + return new PneumaticPsourceM(); + } + + void configure() + { + //Add ports to the component + mpP1 = addPowerMultiPort("P1", "NodePneumatic"); + + //Add inputParammeters to the component + addInputVariable("pin","Pressure","Pa",100000.,&mppin); + addInputVariable("Tin","Input temperature","K",293.,&mpTin); + + setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); + setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); + setDefaultStartValue(mpP1, NodePneumatic::TEMPERATURE, 297.); + setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); + + //Add outputVariables to the component + } + + + void initialize() + { +// + //Read inputParameters from nodes + pin = (*mppin); + Tin = (*mpTin); + //Read outputVariables from nodes + + mNumPorts = mpP1->getNumPorts(); + mvpP1_p.resize(mNumPorts); + mvpP1_qm.resize(mNumPorts); + mvpP1_T.resize(mNumPorts); + mvpP1_dE.resize(mNumPorts); + mvpP1_c.resize(mNumPorts); + mvpP1_Zc.resize(mNumPorts); + + + //InitialExpressions + ZcE = 0.; + + for (size_t i=0; i +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve22.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:50:43 +//! @brief Pneumatic 22-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve22.nb*/ + +using namespace hopsan; + +class PneumaticValve22 : public ComponentQ +{ +private: + double Bf; + double Cf; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[7]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qmP; + double qmN; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqmP; + double *mpqmN; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve22(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(7,7); + systemEquations.create(7); + delayedPart.create(8,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qmP=stateVark[0]; + qmN=stateVark[1]; + qm2=stateVark[2]; + dE1=stateVark[3]; + dE2=stateVark[4]; + p1=stateVark[5]; + p2=stateVark[6]; + //Expressions + qm1 = -qm2; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //outputVariables + (*mpqmP)=qmP; + (*mpqmN)=qmN; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE22_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve22.nb b/devPneumatic/PneumaticValve22.nb new file mode 100644 index 0000000..88a21e6 --- /dev/null +++ b/devPneumatic/PneumaticValve22.nb @@ -0,0 +1,993 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 48103, 985] +NotebookOptionsPosition[ 45157, 896] +NotebookOutlinePosition[ 45840, 919] +CellTagsIndexPosition[ 45797, 916] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve22", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, + 3.8036340541474895`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, 3.8050176650180016`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, 3.805022093004465*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "50", ",", + "42.0976644`9.37683287622728"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, + 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, + 3.8051078642885723`*^9, 3.8056241785062594`*^9, 3.805624242173586*^9}, + ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], + +Cell[BoxData[ + RowBox[{"eps", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, + 3.805022093004465*^9}, + ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], + +Cell["\<\ +This is a simple pneumatic valve with two ports and two positions. It is \ +closed when the input signal is zero and open when it is one. The opening is \ +proportional to the input signal. There is no valve dynamics. \ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050228848734484`*^9, + 3.8050229142901974`*^9}},ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-\ +e907612579a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002hT0@0006`0000000008P0002D300250P00 +oOoooogooomA3@00f@/00215CDH0004092h003H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0H00>P60015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000819A010P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000030lIE900000<3aUDV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000@oBDA1E7RLkI_O +:kAI0>2o?nMBY>LllcoMlVnOK>JLcil37hRlPX8[@lV]DB:m0;[l0Ol/fl@WaAL]f408o +0>CWia<818@EVle6Kfn_DS +k>g]hGJkBDY:TVe72Y[^2@h>3SPl?2@Q8H75aDGIMZBQjA1H;1IRHV;`N3aIZj/[ +06IWIbFkTHMVN`:?al?jnWZ`OW=c`mKFUTA7l]1/2:aF:gZm?USgnogOiSh^;HfUYRKZj>PV^kW4jWOCg +mcnk_[no3l30`01cLg?1jiVIVKBf]XKEYRI3<3GUiL7?kNg]05AEEI6CTb?9dEOBdm?Yj>QhecHe>C5D?4F5@:52X50QD70o<1P<92LW2m7dnG`h70jLCZL@?LEG7XH3MWIfQ8Uf +MWKBeME5KFd]Ph>3@S@g=SHX:2P@XZEhR_29HB0@22i]=SLgRiIGA03Q8EQMGFEWIhNRh/;2P/;bL_;4bV]R212odEl?1@X +_Yg9bLUW^iiN8cXjV_[jn[3J4aH2Ul^5eFY5Ym?Af=PXBUJC=3@d_?UN_EkooHC0K3KSloVX[Zk6J3B: +T]DT;hEPJFV9/kcZJ/[4b49lDk +4gH87Tl8Gc[@XOSn2N^]NKgNh;Un]DclL@T[1=?CdeaNGU9LG8c9I1;UBO7>Q1D2]CK`>@P^5Zf][HGd +h?Wi>@/;2nQd>T`VDlS?Qh[MKPOPk^i>J5/nW`n0cLe=G2jG44f7``70lO6a<:lNS`N0kNe]h^?SQFPn +40Fh0;T7l1@b>Hl2bX4oIC]i8cl2o`4nPIYI@2c`3o3jbLo@n8Wk;O;7P4>@YQ680oh5[PEY0_cf?lJj +QJN79C4S000004U5CTB^@V220008@088900001P000024<3K0@0000<00000000000000000000K@050 +=00002P0000200000P0000000;l0002o0001@`00<483000000000840000002`08@0000P0001R0000 +30000040000Q0000200001h0000H000000000D5060@00D@000?0300000000b@0002D3003K0@0000000h09P<001<1000X0000P@0002`000010040 +0000000000000000000000000000000000000?ooo`1EEEEEEEEEEEEEEeEEMEEE00000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP00007oooooooooo +oooooooooon0000028R8R8Rooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP000000000003ooo +oooooooooon00000D@000;`H00000000b@0002D3003K0@0000000`33`l<0O7al03De=@0S8b<0 +0`<30?;blP3Rh^8020P800d=3@2_[jl0Ti>C00/;2`010@40GEeM03Ti>@0@4100lo?c00L71`3Cdm<0 +Zj^[00h>3P28R8P0E5AD038bOWi`1gMgL071`L05]KF`1cLg<0 +0P82061PH03AdM40=SHf0<30`02ZZZX05ADE09FEU@2l_;`0jNWY07]kN`2DU9@07alO0=oOg`0Q8B40 +8R8R01dM7@0A4A402@T907inOP1OGel0clo?0?knoP0K6a/0IVIV07QhN03gmoL0CP2@T900 +[:b/0>c/k00410@0TY:B04];B`1EEED051@D0451@@1JFUX0Z:RX0=WIf@3emOD0NWYj06=SH`2o_kl0 +oOgm069RHP3GemL0YjNW03Lg=`1:BTX0cCTi>CTi>CTi>CTi>CTi>CTj33/i>CTi>CTi>CTi>CTi>CTi>CTW03`10@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010000000000000000000000000000000000000000000000000000 +000003P10@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@4100410@010@400@4100410@010@400@41 +00410@010@400@41004000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@41 +0@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@41 +=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@41;Rl_<00a;c810@410@41 +0@410@410@411@060@410@410@410@413a0A0@410@410@410@410@410@411@06 +0@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@412``=0@410@410@41 +0@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41 +2@X10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 +0@410@410@410@410`@10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000160000500000P0001DCU1@ +1`400280000<0000ooooob80000<0000ooooodH0002d0@00Z04004E=AR/Z@000900001P0002`0R`j +00000000002`0R`j00000000BDP0000000000/08/>P00000004U38D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00000004U3:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oSLHOA=G?6D@4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000002H3003=0P0000000000000V0`00 +c@8002@0000T00000020?`00000000000020?hg67dCEcaU40P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T0000000000000000PH40000000016@5o@5o@5VL900000000000000000000000000000000W +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9`0002L002LHIM/8000002400024fdl000000=@00015CDH[:T0002@0000H00000020?`00000000000020?hg67dCEcaU4 +:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 +0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 +30000000000Q@0L030000000000Z@000900001P00000080o000000000000080oSLHOA:j144<4@000 +30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 +000002H3003=0P0000000000000V0`00c@8002@0000T00000020?`00000000000020?hg67dB^PA13 +0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 +000009010000000010048T<0H@1/06T0HP1b06T0000000000000000PH40000000016@5o@5o@5VL90 +0000000000000000000000000000000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl000000=000050000000000@00005000 +\>"], "Graphics", + ImageSize->{182.3333333333334, 162.54521963824288`}, + ImageMargins->{{85.55555555555556, 0.}, {0., + 0.}},ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, + 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { + 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, + 3.805107447216238*^9}, {3.8056241355295897`*^9, 3.8056241368901863`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, + 3.805022852714327*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The input signal is limited between 0 and 1.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, + 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Cfe", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{"xin", ",", "0", ",", "1"}], "]"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { + 3.8051070382200217`*^9, 3.805107097045391*^9}}, + ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", " ", "=", " ", + RowBox[{"-", "qm2"}]}], ";"}]], "Input", + CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, + 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, + 3.8048706405459685`*^9}, + ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], + +Cell[BoxData[ + RowBox[{"NgPos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, + ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], + +Cell[BoxData[ + RowBox[{"NgNeg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, + ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", + " ", + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], + ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, + 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { + 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, + 3.8051078460746803`*^9}, {3.805624163019234*^9, 3.8056241643478637`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell["Expressions that are evaluated before the system equations", "Text", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { + 3.80502217704597*^9, + 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { + 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, + 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { + 3.805022272779731*^9, + 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ +3c55a8691acc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmP", "==", + RowBox[{"Cfe", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qmN", "==", + RowBox[{"Cfe", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm2", "==", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], + ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, + 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { + 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, + 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { + 3.805107119679675*^9, 3.805107124187194*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.805017881102742*^9, + 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, + 3.8048706590878425`*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", + "p2"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, + 3.804870662382444*^9}}, + ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qm1", "==", + RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9}, + ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve22\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve22\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve22.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve22.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\\\"}]}], \\\"]\\\"}]}], \ +\\\"}\\\"}]}], \\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\ +\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \ +\\\"]\\\"}]\\) is not a list of contents. The third item in an XMLElement \ +must be a list of contents, even if it is an empty list.\"",2,173,33, + 16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242440076933`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,173,34,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.805624244040661*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,173,35, + 16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242441375604`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,173,36,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.805624244163533*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,173,37, + 16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242441895065`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,173,38,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.80562424421548*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,173,39,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242442424517`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,173,40,16369105449659597481, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242442694244`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,173,41,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, + 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, + 3.8056242442963963`*^9}, + ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{974, 846}, +WindowMargins->{{Automatic, 351}, {-38, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.2 Inherited, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 232, 4, 84, "Section"], +Cell[814, 28, 355, 6, 37, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1172, 36, 533, 12, 62, "Input"], +Cell[1708, 50, 814, 15, 62, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2547, 69, 1463, 32, 230, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4013, 103, 1368, 21, 37, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5384, 126, 255, 5, 37, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[5676, 136, 98, 0, 58, "Subsection"], +Cell[5777, 138, 423, 8, 58, "Text"], +Cell[6203, 148, 16210, 202, 205, "Graphics"], +Cell[22416, 352, 2085, 45, 243, "Input"], +Cell[24504, 399, 569, 12, 86, "Input"], +Cell[25076, 413, 721, 17, 110, "Input"], +Cell[25800, 432, 935, 18, 110, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26772, 455, 145, 2, 58, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[26920, 459, 236, 4, 35, "Text"], +Cell[27159, 465, 344, 8, 37, "Input"], +Cell[27506, 475, 214, 5, 35, "Text"], +Cell[27723, 482, 315, 7, 37, "Input"], +Cell[28041, 491, 1034, 23, 89, "Input"], +Cell[29078, 516, 981, 22, 89, "Input"], +Cell[30062, 540, 1615, 41, 109, "Input"], +Cell[31680, 583, 252, 4, 35, "Text"], +Cell[31935, 589, 793, 15, 86, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[32765, 609, 224, 4, 58, "Subsection"], +Cell[32992, 615, 3111, 64, 271, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[36140, 684, 160, 3, 58, "Subsection"], +Cell[36303, 689, 816, 19, 110, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37156, 713, 174, 3, 58, "Subsection"], +Cell[37333, 718, 592, 12, 37, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37962, 735, 88, 0, 58, "Subsection"], +Cell[38053, 737, 146, 2, 35, "Text"], +Cell[38202, 741, 333, 7, 86, "Input"], +Cell[38538, 750, 255, 4, 37, "Input"], +Cell[CellGroupData[{ +Cell[38818, 758, 122, 2, 37, "Input"], +Cell[38943, 762, 1892, 30, 71, "Message"], +Cell[40838, 794, 452, 9, 26, "Message"], +Cell[41293, 805, 626, 12, 49, "Message"], +Cell[41922, 819, 452, 9, 26, "Message"], +Cell[42377, 830, 626, 12, 49, "Message"], +Cell[43006, 844, 451, 9, 26, "Message"], +Cell[43460, 855, 526, 10, 26, "Message"], +Cell[43989, 867, 596, 12, 26, "Message"], +Cell[44588, 881, 529, 10, 26, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve22.pdf b/devPneumatic/PneumaticValve22.pdf new file mode 100644 index 0000000000000000000000000000000000000000..08dc9d17fbb3cdc99c7d867f728be77f680edec1 GIT binary patch literal 55164 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%0AbtSDt=jURD}x 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 a{B3QcWo2_Sd$WSTY;4HX)WR|%$p0To&1CWb literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve22.svg b/devPneumatic/PneumaticValve22.svg new file mode 100644 index 0000000..1f3005f --- /dev/null +++ b/devPneumatic/PneumaticValve22.svg @@ -0,0 +1,1394 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve22.xml b/devPneumatic/PneumaticValve22.xml new file mode 100644 index 0000000..c8cce9d --- /dev/null +++ b/devPneumatic/PneumaticValve22.xml @@ -0,0 +1,19 @@ + + + + + + + + + Pnenumatic Valve22. + PneumaticValve22.nb + + + + + + + + + diff --git a/devPneumatic/PneumaticValve22G.nb b/devPneumatic/PneumaticValve22G.nb new file mode 100644 index 0000000..987e4a9 --- /dev/null +++ b/devPneumatic/PneumaticValve22G.nb @@ -0,0 +1,894 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 43669, 886] +NotebookOptionsPosition[ 39112, 807] +NotebookOutlinePosition[ 39790, 830] +CellTagsIndexPosition[ 39747, 827] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve22", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, + 3.8036340541474895`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9},ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-\ +b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, + 3.8050176650180016`*^9},ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-\ +709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, + 3.8050176672355585`*^9},ExpressionUUID->"b1a17ebe-ca25-48b4-8480-\ +1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, + 3.805022093004465*^9},ExpressionUUID->"f1d28f9a-2912-4dec-a44b-\ +799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "28", ",", "12", ",", "20", ",", + "6.4007831`8.55880808352921"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, + 3.805022093004465*^9},ExpressionUUID->"aa6f4f45-bf37-4268-85ba-\ +d1117d8dded6"], + +Cell[BoxData[ + RowBox[{"eps", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, + 3.805022093004465*^9},ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-\ +ef462f51bbf0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], + +Cell["\<\ +This is a simple pneumatic valve with two ports and two positions. It is \ +closed when the input signal is zero and open when it is one. The opening is \ +proportional to the input signal. There is no valve dynamics. \ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050228848734484`*^9, + 3.8050229142901974`*^9}},ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-\ +e907612579a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002hT0@0006`0000000008P0002D300250P00 +oOoooogooomA3@00f@/00215CDH0004092h003H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0H00>P60015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000819A010P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000030lIE900000<3aUDV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000@oBDA1E7RLkI_O +:kAI0>2o?nMBY>LllcoMlVnOK>JLcil37hRlPX8[@lV]DB:m0;[l0Ol/fl@WaAL]f408o +0>CWia<818@EVle6Kfn_DS +k>g]hGJkBDY:TVe72Y[^2@h>3SPl?2@Q8H75aDGIMZBQjA1H;1IRHV;`N3aIZj/[ +06IWIbFkTHMVN`:?al?jnWZ`OW=c`mKFUTA7l]1/2:aF:gZm?USgnogOiSh^;HfUYRKZj>PV^kW4jWOCg +mcnk_[no3l30`01cLg?1jiVIVKBf]XKEYRI3<3GUiL7?kNg]05AEEI6CTb?9dEOBdm?Yj>QhecHe>C5D?4F5@:52X50QD70o<1P<92LW2m7dnG`h70jLCZL@?LEG7XH3MWIfQ8Uf +MWKBeME5KFd]Ph>3@S@g=SHX:2P@XZEhR_29HB0@22i]=SLgRiIGA03Q8EQMGFEWIhNRh/;2P/;bL_;4bV]R212odEl?1@X +_Yg9bLUW^iiN8cXjV_[jn[3J4aH2Ul^5eFY5Ym?Af=PXBUJC=3@d_?UN_EkooHC0K3KSloVX[Zk6J3B: +T]DT;hEPJFV9/kcZJ/[4b49lDk +4gH87Tl8Gc[@XOSn2N^]NKgNh;Un]DclL@T[1=?CdeaNGU9LG8c9I1;UBO7>Q1D2]CK`>@P^5Zf][HGd +h?Wi>@/;2nQd>T`VDlS?Qh[MKPOPk^i>J5/nW`n0cLe=G2jG44f7``70lO6a<:lNS`N0kNe]h^?SQFPn +40Fh0;T7l1@b>Hl2bX4oIC]i8cl2o`4nPIYI@2c`3o3jbLo@n8Wk;O;7P4>@YQ680oh5[PEY0_cf?lJj +QJN79C4S000004U5CTB^@V220008@088900001P000024<3K0@0000<00000000000000000000K@050 +=00002P0000200000P0000000;l0002o0001@`00<483000000000840000002`08@0000P0001R0000 +30000040000Q0000200001h0000H000000000D5060@00D@000?0300000000b@0002D3003K0@0000000h09P<001<1000X0000P@0002`000010040 +0000000000000000000000000000000000000?ooo`1EEEEEEEEEEEEEEeEEMEEE00000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP00007oooooooooo +oooooooooon0000028R8R8Rooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP000000000003ooo +oooooooooon00000D@000;`H00000000b@0002D3003K0@0000000`33`l<0O7al03De=@0S8b<0 +0`<30?;blP3Rh^8020P800d=3@2_[jl0Ti>C00/;2`010@40GEeM03Ti>@0@4100lo?c00L71`3Cdm<0 +Zj^[00h>3P28R8P0E5AD038bOWi`1gMgL071`L05]KF`1cLg<0 +0P82061PH03AdM40=SHf0<30`02ZZZX05ADE09FEU@2l_;`0jNWY07]kN`2DU9@07alO0=oOg`0Q8B40 +8R8R01dM7@0A4A402@T907inOP1OGel0clo?0?knoP0K6a/0IVIV07QhN03gmoL0CP2@T900 +[:b/0>c/k00410@0TY:B04];B`1EEED051@D0451@@1JFUX0Z:RX0=WIf@3emOD0NWYj06=SH`2o_kl0 +oOgm069RHP3GemL0YjNW03Lg=`1:BTX0cCTi>CTi>CTi>CTi>CTi>CTj33/i>CTi>CTi>CTi>CTi>CTi>CTW03`10@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010000000000000000000000000000000000000000000000000000 +000003P10@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@4100410@010@400@4100410@010@400@41 +00410@010@400@41004000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@41 +0@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@41 +=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@41;Rl_<00a;c810@410@41 +0@410@410@411@060@410@410@410@413a0A0@410@410@410@410@410@411@06 +0@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@412``=0@410@410@41 +0@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41 +2@X10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 +0@410@410@410@410`@10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000160000500000P0001DCU1@ +1`400280000<0000ooooob80000<0000ooooodH0002d0@00Z04004E=AR/Z@000900001P0002`0R`j +00000000002`0R`j00000000BDP0000000000/08/>P00000004U38D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00000004U3:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oSLHOA=G?6D@4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000002H3003=0P0000000000000V0`00 +c@8002@0000T00000020?`00000000000020?hg67dCEcaU40P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T0000000000000000PH40000000016@5o@5o@5VL900000000000000000000000000000000W +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9`0002L002LHIM/8000002400024fdl000000=@00015CDH[:T0002@0000H00000020?`00000000000020?hg67dCEcaU4 +:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 +0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 +30000000000Q@0L030000000000Z@000900001P00000080o000000000000080oSLHOA:j144<4@000 +30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 +000002H3003=0P0000000000000V0`00c@8002@0000T00000020?`00000000000020?hg67dB^PA13 +0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 +000009010000000010048T<0H@1/06T0HP1b06T0000000000000000PH40000000016@5o@5o@5VL90 +0000000000000000000000000000000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl000000=000050000000000@00005000 +\>"], "Graphics", + ImageSize->{182.3333333333334, 162.54521963824288`}, + ImageMargins->{{85.55555555555556, 0.}, {0., + 0.}},ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A0max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, + 3.8049202878021173`*^9},ExpressionUUID->"303be765-e9fc-44f7-94b5-\ +8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, + 3.803634155729506*^9}},ExpressionUUID->"b285c72f-9e43-46ac-b84f-\ +0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}},ExpressionUUID->"1547f96f-2227-4719-9bd2-\ +75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, + 3.805022852714327*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ +4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The input signal is limited between 0 and 1.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, + 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"A0", "=", + RowBox[{"A0max", " ", + RowBox[{"limit", "[", + RowBox[{"xin", ",", "0", ",", "1"}], "]"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.8049253628774543`*^9, + 3.804925377947908*^9}},ExpressionUUID->"55646062-94a5-41cc-849f-\ +bcc54828c5f4"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", " ", "=", " ", + RowBox[{"-", "qm2"}]}], ";"}]], "Input", + CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, + 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, + 3.8048706405459685`*^9},ExpressionUUID->"d976e54a-4170-4f37-bfba-\ +e3f490adac4e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, + 3.626691991670635*^9},ExpressionUUID->"aa92a39f-08b0-45e1-95b7-\ +8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Nga2", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, + 3.8048706425229297`*^9}},ExpressionUUID->"74f920f2-7f23-4f51-b933-\ +81dd5219e38a"], + +Cell[BoxData[ + RowBox[{"Ngb2", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, + 3.804870643450972*^9}},ExpressionUUID->"c02640f8-58b2-42aa-8c90-\ +a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Nga2"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ngb2"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, + 3.804870602056671*^9}, {3.8048706441562443`*^9, + 3.80487064684647*^9}},ExpressionUUID->"e0127e99-91a2-4c82-a16d-\ +b7d33e10c829"], + +Cell["Expressions that are evaluated before the system equations", "Text", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { + 3.80502217704597*^9, + 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, + 3.626788286066334*^9}},ExpressionUUID->"3dce3a4d-0f1b-4201-a446-\ +f7764743c02d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { + 3.805022272779731*^9, + 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ +3c55a8691acc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmP", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qmN", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm2", "==", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], + ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, + 3.804870608550976*^9}, {3.8048706479862947`*^9, + 3.8048706539751167`*^9}},ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-\ +02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.805017881102742*^9, + 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, + 3.8048706590878425`*^9}},ExpressionUUID->"096b47ac-1067-49dc-aae2-\ +345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", + "p2"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, + 3.804870662382444*^9}},ExpressionUUID->"45defc9d-8919-4035-bddf-\ +612495a3adc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qm1", "==", + RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{3.804870613309064*^9, + 3.8048706633414555`*^9},ExpressionUUID->"52249328-bf8f-4534-9a6e-\ +18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9},ExpressionUUID->"dd6ace65-5d77-4186-8ecc-\ +49603183992f"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1028, 549}, +WindowMargins->{{Automatic, 128}, {-43, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.6 Inherited, +FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (March 14, 2020)", +StyleDefinitions->"Default.nb", +ExpressionUUID->"30841739-f9c7-4115-83d1-832fd9b7fc9c" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 232, 4, 106, "Section",ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], +Cell[814, 28, 353, 6, 46, "Input",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1170, 36, 535, 13, 46, "Input",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], +Cell[1708, 51, 816, 16, 46, "Input",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2549, 71, 1465, 33, 304, "Input",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4017, 106, 1225, 20, 51, "Output",ExpressionUUID->"aa6f4f45-bf37-4268-85ba-d1117d8dded6", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5245, 128, 253, 5, 44, "Input",ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[5535, 138, 98, 0, 60, "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], +Cell[5636, 140, 423, 8, 92, "Text",ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], +Cell[6062, 150, 16210, 202, 273, "Graphics",ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], +Cell[22275, 354, 1509, 34, 226, "Input",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], +Cell[23787, 390, 570, 13, 106, "Input",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], +Cell[24360, 405, 719, 17, 136, "Input",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], +Cell[25082, 424, 933, 18, 136, "Input",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26052, 447, 145, 2, 85, "Subsection",ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa", + Evaluatable->False, + PageBreakAbove->False], +Cell[26200, 451, 236, 4, 55, "Text",ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], +Cell[26439, 457, 296, 8, 45, "Input",ExpressionUUID->"55646062-94a5-41cc-849f-bcc54828c5f4"], +Cell[26738, 467, 214, 5, 55, "Text",ExpressionUUID->"fbc6ac93-5130-4905-8ff0-27a02bcad99f"], +Cell[26955, 474, 313, 7, 45, "Input",ExpressionUUID->"d976e54a-4170-4f37-bfba-e3f490adac4e"], +Cell[27271, 483, 192, 5, 45, "Input",ExpressionUUID->"aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], +Cell[27466, 490, 838, 23, 119, "Input",ExpressionUUID->"74f920f2-7f23-4f51-b933-81dd5219e38a"], +Cell[28307, 515, 834, 23, 119, "Input",ExpressionUUID->"c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], +Cell[29144, 540, 1536, 42, 236, "Input",ExpressionUUID->"e0127e99-91a2-4c82-a16d-b7d33e10c829"], +Cell[30683, 584, 252, 4, 55, "Text",ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], +Cell[30938, 590, 2159, 61, 480, "Input",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[33134, 656, 224, 4, 85, "Subsection",ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-3c55a8691acc"], +Cell[33361, 662, 2917, 62, 349, "Input",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[36315, 729, 160, 3, 85, "Subsection",ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-200441668409"], +Cell[36478, 734, 814, 19, 136, "Input",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37329, 758, 174, 3, 85, "Subsection",ExpressionUUID->"7aee13e0-4e61-4e17-a44c-47e7f85d055c"], +Cell[37506, 763, 590, 12, 45, "Input",ExpressionUUID->"45defc9d-8919-4035-bddf-612495a3adc0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[38133, 780, 88, 0, 85, "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], +Cell[38224, 782, 146, 2, 55, "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], +Cell[38373, 786, 334, 8, 106, "Input",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], +Cell[38710, 796, 253, 4, 46, "Input",ExpressionUUID->"dd6ace65-5d77-4186-8ecc-49603183992f"], +Cell[38966, 802, 118, 1, 46, "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve32.hpp b/devPneumatic/PneumaticValve32.hpp new file mode 100644 index 0000000..e21c1e8 --- /dev/null +++ b/devPneumatic/PneumaticValve32.hpp @@ -0,0 +1,663 @@ +#ifndef PNEUMATICVALVE32_HPP_INCLUDED +#define PNEUMATICVALVE32_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve32.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Mon 3 Aug 2020 16:52:10 +//! @brief Pneumatic 32-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve32.nb*/ + +using namespace hopsan; + +class PneumaticValve32 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[10]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve32(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(10,10); + systemEquations.create(10); + delayedPart.create(11,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + dE2=stateVark[4]; + dE1=stateVark[5]; + dE3=stateVark[6]; + p2=stateVark[7]; + p1=stateVark[8]; + p3=stateVark[9]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve32.nb b/devPneumatic/PneumaticValve32.nb new file mode 100644 index 0000000..587dac3 --- /dev/null +++ b/devPneumatic/PneumaticValve32.nb @@ -0,0 +1,1256 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 62451, 1248] +NotebookOptionsPosition[ 59385, 1154] +NotebookOutlinePosition[ 60038, 1176] +CellTagsIndexPosition[ 59995, 1173] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, + 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "3", ",", "16", ",", "36", ",", + "27.0675276`9.185023503806008"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, + 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { + 3.8054541693537984`*^9, 3.8054541874211617`*^9}}, + ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["The valve capacities are limited between 0 and Cf..", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { + 3.8054550231051493`*^9, 3.805455049024413*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, + 3.8051086817684207`*^9}, {3.8051089737576003`*^9, + 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}}], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRANALEEkLk= + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", + CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, + 3.805109082009644*^9, 3.805454147227625*^9}, + ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ +12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 931}, +WindowMargins->{{154, Automatic}, {11, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 306, 5, 70, "Section"], +Cell[889, 29, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1605, 43, 484, 11, 30, "Input"], +Cell[2092, 56, 1731, 24, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[3860, 85, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4218, 93, 740, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[4973, 110, 280, 4, 30, "Output"], +Cell[CellGroupData[{ +Cell[5278, 118, 1615, 34, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6896, 154, 2082, 31, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8981, 187, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[9368, 199, 98, 0, 49, "Subsection"], +Cell[9469, 201, 602, 9, 49, "Text"], +Cell[10074, 212, 18611, 232, 156, "Graphics"], +Cell[28688, 446, 2486, 53, 215, "Input"], +Cell[31177, 501, 644, 13, 69, "Input"], +Cell[31824, 516, 1840, 39, 164, "Input"], +Cell[33667, 557, 1508, 27, 107, "Input"], +Cell[CellGroupData[{ +Cell[35200, 588, 200, 3, 30, "Input"], +Cell[35403, 593, 1067, 15, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[36519, 614, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[36667, 618, 323, 7, 30, "Input"], +Cell[36993, 627, 394, 5, 30, "Text"], +Cell[37390, 634, 1368, 32, 90, "Input"], +Cell[38761, 668, 262, 6, 50, "Input"], +Cell[39026, 676, 213, 4, 30, "Text"], +Cell[39242, 682, 191, 4, 30, "Input"], +Cell[39436, 688, 1090, 24, 74, "Input"], +Cell[40529, 714, 1041, 23, 74, "Input"], +Cell[41573, 739, 1421, 42, 52, "Input"], +Cell[42997, 783, 1140, 24, 74, "Input"], +Cell[44140, 809, 1090, 24, 74, "Input"], +Cell[45233, 835, 2086, 48, 52, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[47356, 888, 159, 3, 49, "Subsection"], +Cell[47518, 893, 246, 5, 30, "Input"], +Cell[47767, 900, 676, 14, 69, "Input"], +Cell[48446, 916, 291, 4, 30, "Text"], +Cell[48740, 922, 2169, 54, 126, "Input"], +Cell[50912, 978, 3929, 66, 331, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[54878, 1049, 162, 3, 49, "Subsection"], +Cell[55043, 1054, 1431, 30, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[56511, 1089, 174, 3, 49, "Subsection"], +Cell[56688, 1094, 1175, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[57900, 1119, 88, 0, 49, "Subsection"], +Cell[57991, 1121, 146, 2, 30, "Text"], +Cell[58140, 1125, 1092, 21, 145, "Input"], +Cell[59235, 1148, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve32.pdf b/devPneumatic/PneumaticValve32.pdf new file mode 100644 index 0000000000000000000000000000000000000000..019b08cb1ba2890995c832c7594c2a2aae8c0b5c GIT binary patch literal 90865 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 JMdihA{2!-iK1cun literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve32.svg b/devPneumatic/PneumaticValve32.svg new file mode 100644 index 0000000..196a515 --- /dev/null +++ b/devPneumatic/PneumaticValve32.svg @@ -0,0 +1,1199 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve32.xml b/devPneumatic/PneumaticValve32.xml new file mode 100644 index 0000000..e9bef71 --- /dev/null +++ b/devPneumatic/PneumaticValve32.xml @@ -0,0 +1,21 @@ + + + + + + + + + Pnenumatic Valve32. + PneumaticValve32.nb + PneumaticValve32.pdf + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve32G.nb b/devPneumatic/PneumaticValve32G.nb new file mode 100644 index 0000000..f60eaaa --- /dev/null +++ b/devPneumatic/PneumaticValve32G.nb @@ -0,0 +1,1444 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 71528, 1436] +NotebookOptionsPosition[ 68310, 1340] +NotebookOutlinePosition[ 68962, 1362] +CellTagsIndexPosition[ 68919, 1359] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, + 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9, 3.8052140230030565`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, 3.8052140256179743`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "31", ",", "21", ",", "54", ",", + "42.5527098`9.381502096220904"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.8052139582718973`*^9, 3.8052140296728487`*^9, 3.8052140825716896`*^9}, + ExpressionUUID -> "081b577f-23a2-419b-b088-0608031113a7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, + 3.805022947994833*^9}},ExpressionUUID->"fdb397bf-a6a5-4a0c-b930-\ +ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, 3.805108731364309*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.8052139584467173`*^9, 3.8052140298067117`*^9, 3.805214082749506*^9}, + ExpressionUUID -> "60add956-2a18-4cd8-b0fc-7f937dd723f9"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, + 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, 3.8051086817684207`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { + 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, + 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { + 3.805011288694769*^9, 3.805011290232191*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { + 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, + 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { + 3.805011290999591*^9, 3.8050112923130174`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { + 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, + 3.8050113217262278`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, + 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, + 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, + 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { + 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, + 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, + 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, + 3.8044096936388044`*^9}, {3.8044097370500917`*^9, + 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, + 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { + 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, + 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ +12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.8051088534294024`*^9, 3.8051089128193035`*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve32\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Pne\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ve32\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,38,1, + 16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140843472595`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,2,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084580019*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 38,3,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140846079903`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,4,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084634963*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,38,5,16366420814912799141, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140846679287`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,6,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.80521408470341*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,38,7,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084756343*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 38,8,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084794304*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,38,9,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140848322644`*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{974, 746}, +WindowMargins->{{220, Automatic}, {76, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "5e16a49b-e9e4-41a3-ad00-0a0df7589f53" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 306, 5, 70, "Section"], +Cell[889, 29, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1247, 37, 533, 12, 30, "Input"], +Cell[CellGroupData[{ +Cell[1805, 53, 788, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2596, 70, 1615, 34, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4214, 106, 1961, 29, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6178, 137, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[6565, 149, 98, 0, 49, "Subsection"], +Cell[6666, 151, 603, 10, 68, "Text"], +Cell[7272, 163, 18611, 232, 156, "Graphics"], +Cell[25886, 397, 2283, 48, 183, "Input"], +Cell[28172, 447, 644, 13, 69, "Input"], +Cell[28819, 462, 1840, 39, 164, "Input"], +Cell[30662, 503, 1508, 27, 107, "Input"], +Cell[CellGroupData[{ +Cell[32195, 534, 200, 3, 30, "Input"], +Cell[32398, 539, 946, 13, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[33393, 558, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[33541, 562, 323, 7, 30, "Input"], +Cell[33867, 571, 373, 7, 30, "Text"], +Cell[34243, 580, 1266, 30, 90, "Input"], +Cell[35512, 612, 214, 5, 30, "Text"], +Cell[35729, 619, 191, 4, 30, "Input"], +Cell[35923, 625, 1244, 28, 76, "Input"], +Cell[37170, 655, 1243, 28, 76, "Input"], +Cell[38416, 685, 1946, 47, 94, "Input"], +Cell[40365, 734, 1341, 29, 76, "Input"], +Cell[41709, 765, 1405, 30, 76, "Input"], +Cell[43117, 797, 2040, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[45194, 850, 159, 3, 49, "Subsection"], +Cell[45356, 855, 2211, 61, 307, "Input"], +Cell[47570, 918, 291, 4, 30, "Text"], +Cell[47864, 924, 2169, 54, 126, "Input"], +Cell[50036, 980, 3945, 66, 322, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[54018, 1051, 162, 3, 49, "Subsection"], +Cell[54183, 1056, 1431, 30, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[55651, 1091, 174, 3, 49, "Subsection"], +Cell[55828, 1096, 1175, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[57040, 1121, 88, 0, 49, "Subsection"], +Cell[57131, 1123, 146, 2, 30, "Text"], +Cell[57280, 1127, 1092, 21, 145, "Input"], +Cell[CellGroupData[{ +Cell[58397, 1152, 122, 2, 30, "Input"], +Cell[58522, 1156, 6610, 98, 148, "Message"], +Cell[65135, 1256, 317, 7, 21, "Message"], +Cell[65455, 1265, 461, 9, 21, "Message"], +Cell[65919, 1276, 317, 7, 21, "Message"], +Cell[66239, 1285, 461, 10, 21, "Message"], +Cell[66703, 1297, 316, 7, 21, "Message"], +Cell[67022, 1306, 389, 8, 21, "Message"], +Cell[67414, 1316, 459, 9, 21, "Message"], +Cell[67876, 1327, 394, 8, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve33.hpp b/devPneumatic/PneumaticValve33.hpp new file mode 100644 index 0000000..760be88 --- /dev/null +++ b/devPneumatic/PneumaticValve33.hpp @@ -0,0 +1,663 @@ +#ifndef PNEUMATICVALVE33_HPP_INCLUDED +#define PNEUMATICVALVE33_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve33.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:54:56 +//! @brief Pneumatic 33-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve33.nb*/ + +using namespace hopsan; + +class PneumaticValve33 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[10]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve33(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(10,10); + systemEquations.create(10); + delayedPart.create(11,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + dE2=stateVark[4]; + dE1=stateVark[5]; + dE3=stateVark[6]; + p2=stateVark[7]; + p1=stateVark[8]; + p3=stateVark[9]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE33_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve33.nb b/devPneumatic/PneumaticValve33.nb new file mode 100644 index 0000000..6ce733c --- /dev/null +++ b/devPneumatic/PneumaticValve33.nb @@ -0,0 +1,1488 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 75597, 1480] +NotebookOptionsPosition[ 72115, 1375] +NotebookOutlinePosition[ 72769, 1397] +CellTagsIndexPosition[ 72726, 1394] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve33", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, + 3.805624399089216*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}, 3.8056244091118784`*^9, 3.805624490932419*^9}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.805624409530446*^9, + 3.8056244919144063`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.805624400054221*^9, + 3.8056244005527067`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "54", ",", + "51.9453741`9.46812172837272"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.805624409621353*^9, + 3.8056244921221924`*^9}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, + 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { + 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8056244101538033`*^9, + 3.8056244937684946`*^9}, + ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", "xin"}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, + 3.8056243655603123`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["The valve capacities are limited between 0 and Cf..", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { + 3.8054550231051493`*^9, 3.805455049024413*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, + 3.8051086817684207`*^9}, {3.8051089737576003`*^9, + 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}}], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRANALEEkLk= + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", + CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, + 3.805109082009644*^9, 3.805454147227625*^9}, + ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ +12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Pneu\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ve33\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.571429\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.714286\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve33\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve33\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"5\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.714286\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,309, + 60,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.805624496601571*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,309,61,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.8056244967374315`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 309,62,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.8056244967634044`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,309,63,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.8056244967903767`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,309,64,16369105449659597481, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.80562449681635*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,309,65,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.8056244968433223`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,309,66,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.805624496871293*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 309,67,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.805624496898266*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,309,68,16369105449659597481,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80562441291096*^9, 3.805624497034125*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 931}, +WindowMargins->{{Automatic, 56}, {-623, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 330, 5, 70, "Section"], +Cell[913, 29, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1629, 43, 484, 11, 30, "Input"], +Cell[2116, 56, 1777, 24, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[3930, 85, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4288, 93, 740, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[5043, 110, 330, 5, 30, "Output"], +Cell[CellGroupData[{ +Cell[5398, 119, 1667, 35, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7068, 156, 2131, 32, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9202, 190, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[9589, 202, 98, 0, 49, "Subsection"], +Cell[9690, 204, 602, 9, 49, "Text"], +Cell[10295, 215, 18611, 232, 156, "Graphics"], +Cell[28909, 449, 2486, 53, 215, "Input"], +Cell[31398, 504, 644, 13, 69, "Input"], +Cell[32045, 519, 1840, 39, 164, "Input"], +Cell[33888, 560, 1508, 27, 107, "Input"], +Cell[CellGroupData[{ +Cell[35421, 591, 200, 3, 30, "Input"], +Cell[35624, 596, 1119, 16, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[36792, 618, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[36940, 622, 302, 6, 30, "Input"], +Cell[37245, 630, 394, 5, 30, "Text"], +Cell[37642, 637, 1368, 32, 90, "Input"], +Cell[39013, 671, 262, 6, 50, "Input"], +Cell[39278, 679, 213, 4, 30, "Text"], +Cell[39494, 685, 191, 4, 30, "Input"], +Cell[39688, 691, 1090, 24, 74, "Input"], +Cell[40781, 717, 1041, 23, 74, "Input"], +Cell[41825, 742, 1421, 42, 52, "Input"], +Cell[43249, 786, 1140, 24, 74, "Input"], +Cell[44392, 812, 1090, 24, 74, "Input"], +Cell[45485, 838, 2086, 48, 52, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[47608, 891, 159, 3, 49, "Subsection"], +Cell[47770, 896, 246, 5, 30, "Input"], +Cell[48019, 903, 676, 14, 69, "Input"], +Cell[48698, 919, 291, 4, 30, "Text"], +Cell[48992, 925, 2169, 54, 126, "Input"], +Cell[51164, 981, 3929, 66, 331, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[55130, 1052, 162, 3, 49, "Subsection"], +Cell[55295, 1057, 1431, 30, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[56763, 1092, 174, 3, 49, "Subsection"], +Cell[56940, 1097, 1175, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[58152, 1122, 88, 0, 49, "Subsection"], +Cell[58243, 1124, 146, 2, 30, "Text"], +Cell[58392, 1128, 1092, 21, 145, "Input"], +Cell[CellGroupData[{ +Cell[59509, 1153, 122, 2, 30, "Input"], +Cell[59634, 1157, 9501, 140, 131, "Message"], +Cell[69138, 1299, 294, 6, 21, "Message"], +Cell[69435, 1307, 436, 8, 21, "Message"], +Cell[69874, 1317, 294, 6, 21, "Message"], +Cell[70171, 1325, 433, 9, 21, "Message"], +Cell[70607, 1336, 294, 6, 21, "Message"], +Cell[70904, 1344, 364, 7, 21, "Message"], +Cell[71271, 1353, 434, 8, 21, "Message"], +Cell[71708, 1363, 367, 7, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve33.pdf b/devPneumatic/PneumaticValve33.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8a9fb78438043cb905cfe408d55f14d486c2b277 GIT binary patch literal 91274 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%0A+t^N$xzR&ZC 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 z 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 A7Hz7 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�XKC?m0YO!HWMC>7Fn~< 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 literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve33.svg b/devPneumatic/PneumaticValve33.svg new file mode 100644 index 0000000..c5146fd --- /dev/null +++ b/devPneumatic/PneumaticValve33.svg @@ -0,0 +1,478 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve33.xml b/devPneumatic/PneumaticValve33.xml new file mode 100644 index 0000000..e6b1bde --- /dev/null +++ b/devPneumatic/PneumaticValve33.xml @@ -0,0 +1,21 @@ + + + + + + + + + Pnenumatic Valve33. + PneumaticValve33.nb + PneumaticValve33.pdf + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve33G.nb b/devPneumatic/PneumaticValve33G.nb new file mode 100644 index 0000000..b6cc9e4 --- /dev/null +++ b/devPneumatic/PneumaticValve33G.nb @@ -0,0 +1,1331 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 66404, 1323] +NotebookOptionsPosition[ 63619, 1235] +NotebookOutlinePosition[ 64271, 1257] +CellTagsIndexPosition[ 64228, 1254] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve33", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, + 3.805012920364835*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.805012957555482*^9}, + ExpressionUUID -> "37d6925a-c1d8-47c0-a1f5-6a561d507ef8"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.805012957946987*^9}, + ExpressionUUID -> "0ffd127d-4df5-474f-b672-3962a05d2d8b"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, {3.8050129234567766`*^9, 3.8050129253687286`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "29", ",", "14", ",", "2", ",", + "38.0080433`9.33245039768767"}], "}"}]], "Output", + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805012958351659*^9}, + ExpressionUUID -> "95065a91-93a7-4638-b8ef-30e65d227f21"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"13d1cb30-f088-4b61-91dd-0d101aa26d99"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It is \ +closes all flow paths when the input signal is zero and opens between \ +pressure port (1) and load port (2) when it is one. The opening is \ +proportional to the input signal. At negative signals it opens the load port \ +(2) to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, + 3.8050235752501793`*^9},ExpressionUUID->"ac7a5f84-49db-4b81-8144-\ +287fb0777a2d"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003j<0@0006`0000000008@0003<400200P00 +oOoooogoooo84@00``/00215CDH00040S3h004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P20016000040/000@;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000826A000P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000020; +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000QKBDA1E7RLkIek +B9=]7lLoKZiEcZc/CL=jNATIM40S2DXZ8R[NX38Z4hZI444IQ]512B8RRLZT0f914HDMV18INmG28<[: +K1dXR:9bQG>Mc4>ifF5]eo^7Sg_LXci^k]jFNnh?k8okfWEmOco^OKVm[mmegKMQ31c2PL_0hV0W8Q092NW^kaV>73Q`?@g=`L +/3bCTY80<1Z=7_EO^W@Y08L?7`kh>EFYE02:PFAH[kU`h@9UIFG1CR=Tf;im>`051@GHkOJ0a^j<5k:6 +]EP/V1R0o?co`l@7jmN/lN_@XX;53d[1j_Ijf +]SKG/MEZUJ/54Z9FZmVdJA<0Q`hM2VS/T3>/dnWTj]F[KQ<2Ym?9UB]GPYQEj96IVHU6Xj6TY8Bj^/2] +ihBLHNoN_M]SNf][Jd1?K:PcH/@8eZeKQl?Qh=RaH`6;6aj`B07Rl^G;F:gFK^ef^if:RPZb/[:2T=FO +F:eFl_;b^[EgCP[gk=W3h<63GNg3QPeSiljM0L_?6kI^gDYADA6WCYeRejiMS1Xeb^la@lj`dM7A[5Ze +2X3BdU8L3PNYZJTXUDXg8`@;ZmG:P@<7N_gnj=6SK/MSahkmK@dkK]`hDU=C^G3Q0/N?7fOG[UenSaUb +Q^gjhiJEUN5`>3QkmRa3QP`9HUIoX]5Xf;mo_n_HI[?alnO?G_]7ADD58ZenTi>C`lF;5bT/;6CK]Ven +?llQImSO7He6@di>C[3CT8b4Q0CVcim?EEDEIlnNIL>63Gj=5g:C;YW0dkTY9Slo7hO3hMMH/V5UO6K1 +PPEW@X6cM^92l_Sh:20TjO?^fG>08@DY:G +UbL0/G[eJ/TdGkil:L;2`XA:YO9hc>31P`DPf]_K9L_34ljL>B<0TIjN7]2hgY:DU2@0HC@J9M?ln?6S +639TR52YE::n_UhbgDjOnVGBMNkL>@1d>YfT^R88SfC8NUE9JIX0aOOYdI/nN +SLERhMBYDfcI/XGahlMCFe_[TjjTOkXZ:RD?cadYc4a4B_Kgd<1P?O_gog +^?oBYD]AZmGMf/_;bfU_KoMHIlVB9Ak_2Gkmn[EGmioalO4<6cK<[Bdk>i_ZjVZb/[9@ZmDhWDi^gkk= +_7Wc?=K]2DW:F/g=cD:]EP^5@R7bVdEMI:bHVaZ/HCDe= +?N[4aLEiYO?ahdNglGmGeUZdJ95GfUEEEJjaCZMCU9BDR=SHF:5@:=cjcIhmfn?OXR^MhbFk`^[eNWkl +n<72Q@/I>gJ/E;819b4QPKRh>;LfTlU4Bd/;FZfF4B=6^7gGWhWUTRE;^UfmJVYZJ6QXH>KGmM7 +e[^bN?5RVY^KgM[^gK^7fFaVaX`IS1_W_Y[MdeFj=n;ShoWdjI?[f6Zed]SHB7=c73nnf8=AehoJ[ +Ejo@jG@moZEjl^B9acWdQRAGf>CTI068h^9RWkEj8U1Gf9i8CDdEP=3[mAkeklo2`HXE:`@PBT];ni^V +44:8];@d0HR;5boffMOKQH=mnoH9@>CVi_KImm:UBd:SdGBk4TM5A@VCbNAA_:idSYMTdUEGEdM=C@dA +4A4/FkI<2TVI0LkbiL_9bMV^oNO=V_cEm=^bM>gNXZj/S;Rj>^G?WnRXW4f:<73VB +ZeN_^]dJVChlN=4ATH27MF:oUH;O3;/mnoOGFmRG[=VSBmB +CZLS;Bd=SDJ3cFJSYZJVGcXn6MIP<=3JfTYBDQ9CYTcaAD[V7d1ADA4C9Tc0hG3dnfG8?QVfjnf0 +S4aOZ5@Z:RXZR8Z:`VPdmT/S73YFJahnO>SE`9JF5RX[:e4ZUDbJ=ejokb`03lU`kco^kl6oP:]0HhKR`@2K`7^[o;/c_AM3`jg`BlmC36 +_h08h1?PnAJ/gWDJ0MlfWgI7@HM?1>2DF=/CC_lOKLUdj_bDf?@00000BDE>A:i2H88000Q00PPT0000 +6000008@`=/100000`00000000000000000001]00D0d0000:0000080000200000000_`000;l002a3 +000`@P<000000000[0000000;00Q000020000680000<00000@000240000800007P0001P000000000 +b@0003@4003L0@005@0000`0000400005@0000`000040000AP0001@000080000E4i@D0H1001A0000 +X0@0000000390000<`@00=/100000000b@00000000000000[00002`0001@0000<0000800000P1000 +000008H0kP0d10004`4002P0002/0000;00000400@00000000000000000000000000000000000000 +oooo05EEEEEEEEEEEGEGEGEEEEEEEEEEEE000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo0007oooooooooo +oooooooooooooooooo0000R8R8R8_ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooo +oo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo000540002l80000000008n?S`051@D06QXJ0CTi00820P0 +2@T90=gMg@0j>SX0Y:BT09NGU`0<30`0U9BD0:j^[P0^;Rh0o_kn03`l?00m?Cd0oOgm02TY:@2i^KT0 +m?Cd00L71`3fm_H0VIVI04A4A02][Jd03Ph>0?Shn00I6AT0cLg=05IFEP010@400P8206UYJ@24Q8@0 +FEUI00<30`3Lg=`02PX:06m_K`1^KVh0LW9b09:BTP3clo<0MgMg08F5Q@3Rh^80jn_[05QHF01EEED0 +VYZJ0>OWi`1JFUX0PX:208R8R01mOGd0QXJ60=7Ad@0F5QH0ADE50;Zj^P0R8R80o?cl038bWYj@0X:2P0 +]kNg06MWI`1fMWH0bg]k@19BDT0ATI6014A4@3_knl0I6AT03Ti>@0h>3P09bLW018B4P34a<@0 +fMWI0:>SX`2YZJT0Zj^[05MGE`2WYjL0N7Qh00l?3`3Ng]h02`/;06a/K00=3@d0GemO06IVIP0S8b<0 +_;bl0=3@d02RXZ80bLW90=?Cd`061PH0Bd];04e=C@3Xj>P010@40:n_[`35aLD0QhN70820P012@T80 +RHV9061PH02OWil00@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 +0@0100400@0100400@0100400@0100400@0000400@0100400@0000400@0100400@0000400@010040 +0@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 +0@010000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000Y7Mg +MgMgMgMgMgMgMgJT0@410@410@411@06 +0@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@410@41A`2B0@410@41 +0@410@410HHIX5<10@410@410@410@0000010@410@410@410@410IT0TP410@410@410@410@410@41 +0@410@41G00=0@410@410@410A<09@410@410@410@410@410D00SP410@410@410@D01P410@410@41 +0@5d08l10@410@410@410@410@6@09410@410@410@T02P410@410@410DL0TP410@410@410@410IfG +08BN0@410@410@410@4000000@410@410@410@410@4?06a=0@410@410@410@410@410@410@410E`0 +3@410@410@410@4C02D10@410@410@410@410@5008h10@410@410@4500H10@410@410@41M02?0@41 +0@410@410@410@41T02A0@410@410@4900X10@410@410@5709810@410@410@410IbE000e:P410@41 +0@410@41000000410@410@410@410@417IX0V`410@410@410@410@410@410@410@5L00d10@410@41 +0@414`0U0@410@410@410@410@41@02>0@410@410@411@060@410@410@410G@0S`410@410@410@41 +0@410I00T@410@410@412@0:0@410@410@41A`2B0@410@410@410H600000R@410@410@410@410@00 +00010@410@410@410@410@4309P10@410@410@410@410@410@410@41G00=0@410@410@410A<09@41 +0@410@410@410@410D00SP410@410@410@D01P410@410@410@5d08l10@410@410@410@410@6@0941 +0@410@410@T02P410@410@410DL0TP410@410@410DdF3@0009T10@410@410@410@4000000@410@41 +0@410@410@41=2jE>P410@410@410@410@410@410@410E`03@410@410@410@4C02D10@410@410@41 +0@410@5008h10@410@410@4500H10@410@410@41M02?0@410@410@410@410@41T02A0@410@410@49 +00X10@410@410@5709810@410@410@6FU@0009NA0@410@410@410@41000000410@410@410@410@41 +0@4F08d10@410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@410@410@410@41@02> +0@410@410@411@060@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@41 +0@41A`2B0@410@410@4X6@00002CU0410@410@410@410@0000010@410@410@410@410@4160230@41 +0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@632@T92H@0C0T92@V50@41 +0@D01P410@41QT10@40@08M0@410>P410@41H410@41I08Q0@410I@410@T02P410@4g2@T9RHX01da< +C4b;0@6<90000000:@410@410@410@410@4000000@410@410@410@410@410@PT;gl10@410@410@41 +0@410@410@410E`03@410@410@410@4C02D10@410@410@41P000000000000000?P410@4500H10@41 +0F<000000000000008410@410F`000000000000005d10@4900X10@41PP00000000000000MP417GV0 +;`0001l10@410@410@410@41000000410@410@410@410@410@41M01X0@410@410@410@410@410@41 +0@5L00d10@410@410@414`0U0@410@410@410GEfMWIfMWIfMV]gMf@10@411@060@410@5hNGUiNGUi +NGUiNGTZ0@410@5jNGUiNGUiNGUiNGUk0@412@0:0@410GagMgMgMgMgMgMgMgd10@41:00_53=n0@41 +0@410@410@410@0000010@410@410@410@410@410Fl0L0410@410@410@410@410@410@41G00=0@41 +0@410@410A<09@410@410@410@410@410@410@410@410@410@D01P410@410@410@410@410@410@41 +0@410@410@410@410@410@410@T02P410@410@410@410@410@410@410Al0LG8=L`410@410@410@41 +0@4000000@410@410@410@410@410@4AJ@1Z0@410@410@410@410@410@410E`03@410@410@410@4C +02D10@410@410@410@410@410@410@410@410@4500H10@410@410@410@410@410@410@410@410@41 +0@410@410@410@4900X10@410@410@410@410@410@410F/0K6d1KR<10@410@410@410@4100000041 +0@410@410@410@410@410FH0>0410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@41 +0@410@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 +0@412@0:0@410@410@410@410@410@410@5W06P10@410@410@410@410@410@0000010@410@410@41 +0@410@410@5R06=T0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@410@41 +0@410@410@410@410@D01P410@410@410@410@410@410@410@410@410@410@410@410@410@T02P41 +0@410@410@410@410@410@4Ec/k +>c/k>dL10@410@410@410@410@410@410@412@0:0@410@410@410@410@58;TTU0@410@410@410@41 +0@410@410@410@000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410C`o?c<0@3m10@410@410@410@410@410@410@410@410@D01P410@52000000000000000@0@41 +0@410@410@410@410@410@410@T02P410@410@410@410@41@`140@410@410@410@410@410@410@41 +0@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@400P410@410@4h;`00 +000=>@410@410@410@410@410@410@410@410@4500H10@41>S/k>c/k900f>c/k?0410@410@410@41 +0@410@410@410@4900X10@410@410@410@41?@de?P410@410@410@410@410@410@410@4100010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@413bT00000=C@10@41 +0@410@410@410@410@410@410@411@060@410@410@410@L020410@410@410@410@410@410@410@41 +0@412@0:0@410@410@410@410CH0=`410@410@410@410@410@410@410@410@000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410B0Y000000h10@410@410@410@41 +0@410@410@410@410@D01P410@410@410@4700P10@410@410@410@410@410@410@410@410@T02P41 +0@410@410@410@PIP0000000000/08/>P00000004U38D0700`000000000:T0002@0000H0000/08/>P0000000000 +/08/>P00000004U3:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000002E0000@000010000000000O@0<0 +30000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o000000000000080o +?PlgA28a64@4@00030000000000Q0000200001`000080000B`000400000`00001@00020000010000 +0@00010000000000000003@400380P0000000000000d1000b08002@0000T00000020?`0000000000 +0020?ch?=d@R:>^2?^W/900000000000000000000000000000000V8@000040000?0000M0400K1If`P00000 +/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0 +000001`D0@50F]/8000Q/`0D000Q00005Wl10CXD003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g +00000=9]PWLj5740>Q@4L@00100Q/`40>QAaoooooonh400017440;P@0000000071@Q/c0@00015CDH[ +:T0002@0000H00000020?`00000000000020?ch?=d@R:>^2?^W/900000000000000000000000000000000V +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8000Q/`0D000Q00005Wl10M0P003Pfdl0 +b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWO@88T0d204R@00100Q/`40d229oooooonh4000 +18T40;P@0000000071@Q/jP@00015CDH[:T0002@0000H00000020?`00000000000020?mYG4T@hPAQ4 +:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 +0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 +30000000000Q@0L030000000000Z@000900001P00000080o000000000000080ofULBA3U744<4@000 +30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 +000003@400380P0000000000000d1000b08002@0000T00000020?`00000000000020?mYG4T@iAa13 +0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 +000009010000000010048T<0H@1/06T0HP1b06T00000000000000020ID0000000016@>:>^2?^W/90 +0000000000000000000000000000000V8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8 +000Q/`0D000Q00005Wl10H000050000000000@00005000 +\>"], "Graphics", + ImageSize->{216., 142.33526011560696`}, + ImageMargins->{{63, 0}, {0, + 10}},ExpressionUUID->"2447e6a4-aa68-4d51-ae16-1b323b958d07"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9, { + 3.805012937157796*^9, 3.8050129373557386`*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050171017558465`*^9, + 3.8050171041087675`*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ +4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.8050129604927225`*^9}, + ExpressionUUID -> "10453b72-67aa-4296-bc81-0e9902a66aba"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", "xin"}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, { + 3.80501290805445*^9, 3.805012911450751*^9}}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, + 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { + 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, + 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { + 3.805011288694769*^9, 3.805011290232191*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { + 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, + 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { + 3.805011290999591*^9, 3.8050112923130174`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { + 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, + 3.8050113217262278`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, + 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, + 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, + 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { + 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, + 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, + 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, + 3.8044096936388044`*^9}, {3.8044097370500917`*^9, + 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, + 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { + 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, + 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}}, + CellLabel-> + "In[181]:=",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"b7ccc7a9-2c6a-4c2f-bb04-\ +1416404e4b75"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + CellLabel-> + "In[182]:=",ExpressionUUID->"42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}}, + CellLabel-> + "In[186]:=",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179141015143`*^9, + 3.8050179155584116`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + CellLabel-> + "In[187]:=",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + CellLabel-> + "In[188]:=",ExpressionUUID->"d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + CellLabel-> + "In[189]:=",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellLabel-> + "In[190]:=",ExpressionUUID->"f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{974, 392}, +WindowMargins->{{Automatic, 268}, {67, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "1ec93163-91ed-41a0-ad0b-6c312ebc703d" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 328, 5, 70, "Section"], +Cell[CellGroupData[{ +Cell[932, 31, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1290, 39, 740, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[2045, 56, 639, 9, 30, "Output"], +Cell[CellGroupData[{ +Cell[2709, 69, 484, 11, 30, "Input"], +Cell[3196, 82, 1553, 21, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[4786, 108, 1588, 33, 183, "Input"], +Cell[6377, 143, 1828, 27, 30, "Output"] +}, Open ]], +Cell[8220, 173, 272, 6, 30, "Input"], +Cell[CellGroupData[{ +Cell[8517, 183, 98, 0, 49, "Subsection"], +Cell[8618, 185, 793, 13, 68, "Text"], +Cell[9414, 200, 21850, 272, 161, "Graphics"], +Cell[31267, 474, 2181, 47, 183, "Input"], +Cell[33451, 523, 699, 14, 69, "Input"], +Cell[34153, 539, 1840, 39, 164, "Input"], +Cell[35996, 580, 1410, 26, 107, "Input"], +Cell[CellGroupData[{ +Cell[37431, 610, 200, 3, 30, "Input"], +Cell[37634, 615, 900, 13, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[38583, 634, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[38731, 638, 323, 6, 30, "Input"], +Cell[39057, 646, 373, 7, 30, "Text"], +Cell[39433, 655, 1216, 30, 90, "Input"], +Cell[40652, 687, 214, 5, 30, "Text"], +Cell[40869, 694, 191, 4, 30, "Input"], +Cell[41063, 700, 1244, 28, 76, "Input"], +Cell[42310, 730, 1243, 28, 76, "Input"], +Cell[43556, 760, 1946, 47, 94, "Input"], +Cell[45505, 809, 1341, 29, 76, "Input"], +Cell[46849, 840, 1405, 30, 76, "Input"], +Cell[48257, 872, 2040, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[50334, 925, 159, 3, 53, "Subsection"], +Cell[50496, 930, 2181, 61, 296, "Input"], +Cell[52680, 993, 291, 4, 34, "Text"], +Cell[52974, 999, 2193, 55, 124, "Input"], +Cell[55170, 1056, 3809, 65, 304, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[59016, 1126, 162, 3, 53, "Subsection"], +Cell[59181, 1131, 1455, 31, 105, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[60673, 1167, 174, 3, 53, "Subsection"], +Cell[60850, 1172, 1199, 21, 28, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[62086, 1198, 88, 0, 53, "Subsection"], +Cell[62177, 1200, 146, 2, 34, "Text"], +Cell[62326, 1204, 1116, 22, 143, "Input"], +Cell[63445, 1228, 146, 3, 28, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve42.hpp b/devPneumatic/PneumaticValve42.hpp new file mode 100644 index 0000000..a0ef2b3 --- /dev/null +++ b/devPneumatic/PneumaticValve42.hpp @@ -0,0 +1,1125 @@ +#ifndef PNEUMATICVALVE42_HPP_INCLUDED +#define PNEUMATICVALVE42_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve42.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:57:34 +//! @brief Pneumatic 42-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve42.nb*/ + +using namespace hopsan; + +class PneumaticValve42 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[16]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm34Pos; + double qm34Neg; + double Ng32e; + double Ng12e; + double Ng34e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double kappa; + double Kg; + double Ndenom; + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm34Pos; + double *mpqm34Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg34e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve42(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(16,16); + systemEquations.create(16); + delayedPart.create(17,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm34Pos=stateVark[6]; + qm34Neg=stateVark[7]; + dE2=stateVark[8]; + dE4=stateVark[9]; + dE1=stateVark[10]; + dE3=stateVark[11]; + p2=stateVark[12]; + p4=stateVark[13]; + p1=stateVark[14]; + p3=stateVark[15]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) + qm34Neg*onNegative(p3 - p4) - \ +qm32Pos*onPositive(-p2 + p3) - qm34Pos*onPositive(p3 - p4); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm34Neg*onNegative(p3 - p4) + \ +qm14Pos*onPositive(p1 - p4) + qm34Pos*onPositive(p3 - p4); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng34e = onNegative(p3 - p4)*(onNegative(-Bf + p3/p4) + onPositive(-Bf \ ++ p3/p4)*signedSquareL(1 - Power(-Bf + p3/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p3 - p4)*(onNegative(-Bf + p4/p3) + onPositive(-Bf + \ +p4/p3)*signedSquareL(1 - Power(-Bf + p4/p3,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm34Pos)=qm34Pos; + (*mpqm34Neg)=qm34Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg34e)=Ng34e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE42_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve42.nb b/devPneumatic/PneumaticValve42.nb new file mode 100644 index 0000000..5e96d41 --- /dev/null +++ b/devPneumatic/PneumaticValve42.nb @@ -0,0 +1,2151 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 101615, 2143] +NotebookOptionsPosition[ 97866, 2036] +NotebookOutlinePosition[ 98519, 2058] +CellTagsIndexPosition[ 98476, 2055] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve42", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, + 3.8048574830449095`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{3.8045956967664948`*^9, 3.8045988882774363`*^9, + 3.804599021844661*^9, 3.804757553946481*^9, 3.8047576859049883`*^9, + 3.8048377732989707`*^9, 3.8048378209927735`*^9, 3.8048379130278387`*^9, + 3.804853738418406*^9, 3.804857181747699*^9, 3.804920337376981*^9, + 3.8049212832728124`*^9, 3.8049213813076887`*^9, 3.805014808070986*^9, + 3.805014992970668*^9, 3.8050243175592833`*^9}, + ExpressionUUID -> "439b81bd-ad7d-4618-ba96-da8feb512e81"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9, 3.805455735116706*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9, 3.8054557323076034`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { + 3.8056279283427267`*^9, 3.805627940763915*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "57", ",", + "30.7425744`9.240315140078138"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { + 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, + 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, + 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, + 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, + 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, + 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, + 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, + 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, + 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, + 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { + 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, + 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, + 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, + 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, + 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, + 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, + 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, + 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, + 3.8055296122630434`*^9, 3.805529852446294*^9, 3.8056246508534603`*^9, + 3.805627940763915*^9}, + ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, + 3.8056279407649145`*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It \ +opens between pressure port (1) and load port (2) and between the load port \ +(4) and return (3) when the input signal it is one. The opening is \ +proportional to the input signal. At zero input signal it opens the load port \ +(2) to the return port (3) and between the pressure port (1) and load port \ +(4). The opening is proportional to the input signal. There is no valve \ +dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9, {3.8050237813496456`*^9, + 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ +62f88b1104a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003Xl0@0006`0000000008@0002H300250P00 +oOoooogoooof3@00f@/00215CDH00040?3X005H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000a0/00;P;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000041CA010P0000000000/08/>P00000004m3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0; +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000T>BDA1E7RLkIaY +B5A]56QEUIdD9kJX/F@AmJ;JCD5RB/J;?ED>Y;ZI6d6V55:56IA:^U]=]> +9EYY=ITfj]cWoF0=CFhcc^dM7O_1@3icWW=>0Z:RXNVfZZj_YfK_en_E[O7emnOciLh=fSXj>08ZF90:;>G;T2>WYjKI>XdhL71b8Shl7H=>VCKaooehF_lnO?fO@X46X +E2[Lg=`J]:f^[PIn7UgfR5j_ilZE:iBGUo?P`@=KYeTB:YD:BI8hMnjL[M>YUggkmZ5FZdU;Bn?:UB]=m_?P`@>2PX8X;2c4gMfMh>1P/nOJ +[@R>7cn>CZM3[mMcm>QAFjMC;kejmF;il^D0A4A464oAUW3WcQd20P8X:RX2JWiZo?clc9i_Ub8@@Y2A +TH4@0ZPiCGkil/G6FMG?n_G[lOCdi>73QncO_mnR^CTi>H`O?ajMCVLL6cil^4Dnk584]foO=SVRE2XE +FEUI=/bXHEaMGMVnOC/0/K6aaR>jCVI6cM^e6^KUiO7m>WCCLh0_o3alJ5]fkHFaKHk4KahlJ;>3`MZ;Z2JJgLR>7gj=9FEUKG6bl_;bLS8/456U[5ahdHjMniWAP +biH]0:aI/jKN/mZaHlO8bLU1Xm5`nO9Uk]noCeaL7;jn__mW^_lkFT1X]EYQ;]kNgP8@KmjlOBaJ +]4P08R4QXE7K7C]f2414ADDe:IK1H13no_h24<^F;J_eOTE5QNSN_K/0a8H=6iXD@`PQ044;^h7DJU0Z +UB@U9J5D:SU`h01iNGTVknoL^I?G[eoC]F]GEZeJIGdlZcglhjl`L>105RaHP<5P828R`]Sh:Rh^=]jU +g;im>bh^;UK7nRN2I/bfKM]`MgOWf[E[Y:FU0CGG2CZMSR53QSBY4ZR;Ob9Xa[Rk^a73:1@:M^kLRD8QciZPOb9XiRaI/XAnoOYAG5a@420K34L0Co0/VJcKO20VWZo=N7P +h41BDQ:1PH6lNoL>]E[=i/fKIHgQ26@37FGenQNAJ`E>Bf;@X46h^;Q@EUJ6UiLG?Shn/_Ygi:L0]VgK +9Y_CahlOTiZJRXn?3d^G;YG5If5Q8DU9BLfjoongf;E[5fEUIBREBUjnO@8@g]kNXZb/c6[Oo:eVDFUY:FO?WTFY +E;:: +X:2PP5^gK]6nOG^VCYdZYn]FajUCYlS>cTJSdM@Z2OO/fH>;R`^IVIVb[:BFE@C9bLT0c9Xe2he68jO[ +ETEUIBE[ejh582HVQVkM^YVlkng]KMbW41TIJK:D[RW89P99TXcmKG_i:BP^;RHg=iOLg5`nO_`8`=^g +KheSObiQTh_M^gOco?Uc_;blR8j>[]b/XB3Ph?Xf;6SD:_E0Q3>c/jRGK]fXT>73/9P<=@iciXB/KRhF;A_geh0h_3Q``gJIVAT63nC^gO_ +RYD[EhZUBiNJ7N_GMnmX]HAnl_/5XE`g=Vc=b94SDJ_EU9JF6/O:bl]A:1CI?UOj7@jcY`iPd:Q82`/C0jGc@8W9bLV +C9Q@j`=eMGFeJ:nO^OaN4RHT93@X/ZM?Wc9ahTCS?/^:RPZZZZZX[ZhV?mnb7ObbR>34RA>DUiLC51A4 +Sahmi73IK0P?3lOEeMETC:oG?Aj_LWH`843J`W3F];CdkUhlB8JSHJ]FkLfJ^oYjLW=VcOamOG5`L71>2j4h3VcI_djM?7A0PU9BGe[U:^2j]5 +T9:BPQ22d=1@RgNn]1CVcI]Wk7/X50XVCIXTZolmNoK`k=Tc?3dmRHV9/FR^Vi/KejmOAj_EXU:YP9Y[ +]0/G;YS]`bXA224hL^@8H9lo1KnH?7Tb1X<1P2iM^]2mNgOIO7ohl<5hn]nbID^C3ZBfKM]bmNYE]5X] +KMZdXJ:R`_RmV8=E8/S>c^KUbiMdjmK=h^g@;@Tg=cNdFRe:YE;fnoRa/K5loOZEo_gkOWLnS@8H16Bd9cD:_EI6EU3P02@T903_knl010@404U9B@0C4a<0[:b/00d=3@3Ti>@0fm_K01@D500Z:RX0 +n?Sh00T92@3Cdm<0B4Q805]KF`3GemL06QXJ00820P20P800][Jf00l?3`071`L0QhN70=[JfP2o_kl0 +61PH01DE5@1OGel00@4102h^;P0[:b/0no_k0<_;b`0>3Ph0o_kn014A4@061PH0l_;b09:BTP32`/80 +EUIF0SX`3WinL0_[jn0;:b/P1fMWH01@D505ADE00o?cl0Hf=S0;Bd]03clo<0 +7AdM0?gmo@37alL0clo?038bk^kP2JVYX0 +5QHF05QHF01>CTh0Vi^K018B4P3/k>`0YjNW0>7Qh@3YjNT0SXj>03Lg=`1[Jf/0moOg020P8021PH40 +c3P`0L71`0m?Cd06ATI00k>c/0j>SX061PH00h>3P0Ti>C01LG5`34a<@0;bl_05aLG00V9RH0 +2`/;08R8R00N7Qh0KVi^08F5Q@2[Zj/0FEUI0>g]k@3Shn<0HV9R0?[jnP0/;2`0O7al09FEU@33`l<0 +_;bl0=WIf@0f=SH0De=C04M7A`3fm_H0h^;R0;>c/`1hN7P0nOWi07moO`22PX808b079bLP1ZJVX0FUYJ0492@P0I6AT0lO7a0=kNgP2^[Zh0 +f=SH04Y:BP14A4@0iNGU07YjNP0l?3`0XJ6Q0?Gem@0j>SX0ADE507emO@1nOWh0gmoO0:2PX00820P0 +7alO06EUI@0aP410@410@41003o>eX000410@410@410@410@41 +WBYbA0410@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@41Z000 +0@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 +0@410@410FUSHhl026=SO0410@411`080@410@410@410@410B@0T6H10@410AQa09410@410@410@41 +0@41002HD>/000410@410@410@410@410@41R@040@410@410@410@410@410@410@5801T10@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410HX=08/10@410H`0 +SF010@410@410@410@410009`eX000410@410@410@410@410@41PP0RQP410@410@410@410@410@41 +0@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +0@5g01T<0@41Qg80R0410@410@410@410@41002J9:/000410@410@410@410@410@410H<0FP410@41 +0@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 +0@410@410@410@410@41@@0L0@41Q0250@410@410@410@410@41001Bm_/000410@410@410@410@41 +0@410Gl06`410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@41B1lZP06103:20@410@410@410@410@41002EBTD00041 +0@410@410@410@410@410GTS7gX10@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410@410G/0GWam07h10@410@410@410@41 +0@410000000000410@410@410@410@410@410@5000/10@410@410@410@410@410@5801T10@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410FT_07P0AFH1 +0@410@410@410@410@410000000007=cLg=cLg=cLg=cLg=cLg=cLg00:0@410@410@410@410@410@41000000000@0100000@0100400001 +00400@0000400@0100000@0100400001004007410@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@410@5^:P0SF`410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410@410@U_06D0L0410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410F`0KCDO:Vh1 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4100810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +0@41FA40>P5Z06/`0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4000810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 +0@410@410@410@410@41I`1X<05Y;`030@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@5S7e180@41I01UIP410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410DIN05l10@41H640HP410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +=5EEB`1FE@L10@410@410@410@410@D01P410@410@411`080@410@410@410@410EL0F5T10@410EX0 +6E]LG@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@412`l00000D5410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +DRP0D`410@410@5?00YD;aD10@410@410@41000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@41BT/000004cL10@410@410@410@410@D01P410@410@411`08 +0@410@410@410@41C01=AP410@410Di?0000?`L10@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410DD000004dH10@410@410@410@410@D0 +1P410@410@411`080@410@410@410@4J3am70@410@41B3l0000004T10@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410Cho0000@0410@41 +0@410@410@410@D01P410@410@411`080@410@410@410C1104810@410@410D@410@410@410@410@410@D01P410@410@411`080@410@410@410CX0;c/10@410@410@4l +5P0001P0000000000/08/>P00000004m3 +8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000004m3:T0002@0000H0000 +0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 +9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 +30000000000Z@000900001P00000080o000000000000080oc56D@4@00030000000000Q0000 +200001`000080000B`000400000`00001@000200000100000@00010000000000000004d3003=0P00 +00000000001=0`00c@8002@0000T00000020?`00000000000020?c993DC/aAU40P0000`0000@0000 +00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 +10048T<0H@1/06T0HP1b06T000000000000000000030ib]100000000000000000000000000000000 +00000<3W:d400040000004d000000000:>5?014000040000V>M?05SRC`10X;1gDJf;nokoooo0hDl0 +ck2/Me`2001X0P00f0?j2@00042LECAgGcDdMO5k8AeLhDl00H0006le=7D000000000000000000000 +Z1GgSXcQC`3X2cAelG/Q7@008@3aNb4MlG/001cRC`2fOS9e3gd00>SQC`3PDoX9c>=?00T000020000 +00000=9]/GL?OI`03gd4W00010000?oo3gfLoooooool2P0019`406@000000000:87j2B0:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GNF?Kl0 +USd4_`0010000?ooUSfooooooool2P001;l406@000000000:87j2K0:[`1c56D@4@00030000000000Q0000200001`000080000B`000400000`0000 +1@000200000100000@00010000000000000004d3003=0P0000000000001=0`00c@8002@0000T0000 +0020?`00000000000020?j7PSQC`3PDoX9c>=?00T00002000000000=9]/GMZMh/0JWL4R`0010000?oo +JWN;oooooool2P0018/406@000000000:87j2FP:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GL?OJ003gd4X00010000?oo3gfPoooooool2P00 +1:0406@000000000:87j2B0:[`1000050000000000@0000 +5000 +\>"], "Graphics", + ImageSize->{185., 156.4338235294117}, + ImageMargins->{{74, 0}, {0, 7}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, + 3.8055253268748503`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, + 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, + 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf14", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf34", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { + 3.805455158947027*^9, 3.805455179490837*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf34", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, + 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { + 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, + 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { + 3.8055275203538437`*^9, 3.8055275229851294`*^9}}], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { + 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, + 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, + 3.805529803320966*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { + 3.805529804336918*^9, 3.805529805264961*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, + 3.80552980857155*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, + 3.8055269059685616`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { + 3.8055269247042356`*^9, 3.805526925551361*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U + + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng34Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, + 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng34Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, + 3.805526943719621*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng34Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng34Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, + 3.805529825723857*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell["New equations", "Text", + CellChangeTimes->{{3.805524947233452*^9, 3.8055249549494934`*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, 3.8055264099145555`*^9, {3.805526577594593*^9, + 3.8055265785376205`*^9}, {3.8055271226870155`*^9, 3.805527123869795*^9}, + 3.805527740537723*^9}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, 3.805526409916554*^9, + 3.805526579778341*^9, {3.805527124670969*^9, 3.80552712535826*^9}, + 3.80552774054072*^9}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, + 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { + 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, + 3.8054538803995576`*^9}, {3.805527641611766*^9, 3.805527645459796*^9}, + 3.805529598322423*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, + 3.8055263349039297`*^9, 3.8055266140100307`*^9, {3.8055268414833913`*^9, + 3.805526842481363*^9}, 3.8055270864154296`*^9, 3.8055296089434676`*^9}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, 3.805526328338702*^9, 3.805526614013027*^9, { + 3.8055268433864284`*^9, 3.8055268441995883`*^9}, 3.805527086420425*^9, + 3.805529608946464*^9}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805527683510547*^9, 3.805527693371375*^9}, {3.805529507535071*^9, + 3.80552951191755*^9}, 3.8055296089484615`*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055249814321766`*^9, 3.8055249829356265`*^9}, 3.805526364135778*^9, + 3.8055266227879753`*^9, 3.8055277773247786`*^9, {3.805527870193982*^9, + 3.8055278767632055`*^9}, 3.8055297742309713`*^9}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805524983864667*^9, 3.8055249846158924`*^9}, + 3.8055263641387744`*^9, 3.8055266227909737`*^9, 3.805527777326775*^9, + 3.805527876765204*^9, 3.80552977423297*^9}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, + 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { + 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, + 3.8054538803995576`*^9}, {3.8054553818650866`*^9, + 3.8054554005118523`*^9}, {3.805527833475857*^9, 3.805527843570444*^9}, + 3.8055295212149596`*^9, 3.8055297742359667`*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng34Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055249874229965`*^9, + 3.805524988247146*^9}, 3.8055263703683476`*^9, 3.80552669658885*^9, + 3.8055297742379646`*^9}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng34Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805524989111255*^9, 3.805524989927414*^9}, 3.8055263703743415`*^9, + 3.805526696590848*^9, 3.805529774238964*^9}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, 3.805529774240961*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, + ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Bf", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}, {3.8055256479961305`*^9, 3.8055256582105937`*^9}, + 3.8055256895792384`*^9, {3.8055257273223047`*^9, 3.8055257298656807`*^9}, + 3.8055259498950443`*^9, 3.8055260626667433`*^9, {3.8055261209216537`*^9, + 3.8055261237827024`*^9}, 3.8055271676386476`*^9, {3.8055272416423116`*^9, + 3.805527250725942*^9}, {3.8055274170813465`*^9, 3.805527443933647*^9}, { + 3.8055275137886157`*^9, 3.8055275142950935`*^9}, {3.805529845314649*^9, + 3.805529848927924*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}}, + ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE34", "=", + RowBox[{"qm34", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm34", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, + ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ +09172eb1a580"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + RowBox[{"Cf14", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + RowBox[{"Cf14", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Pos", "==", + RowBox[{"Cf34", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Neg", "\[Equal]", + RowBox[{"Cf34", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", + "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, + 3.805455634417577*^9}, 3.8054560708467517`*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179915385733`*^9, + 3.8050179925094385`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ +2783204ff18e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, + ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, + 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ +b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", + RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, + 3.805525497428443*^9, 3.8055260034368134`*^9}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1120, 794}, +WindowMargins->{{Automatic, 256}, {39, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 378, 6, 70, "Section"], +Cell[961, 30, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1319, 38, 203, 3, 30, "Text"], +Cell[1525, 43, 599, 8, 30, "Output"], +Cell[2127, 53, 529, 12, 30, "Input"], +Cell[2659, 67, 788, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[3472, 86, 1833, 38, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5308, 126, 3450, 50, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[8761, 178, 378, 8, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[9176, 191, 98, 0, 41, "Subsection"], +Cell[9277, 193, 1001, 16, 68, "Text"], +Cell[10281, 211, 20299, 253, 172, "Graphics"], +Cell[30583, 466, 2486, 53, 215, "Input"], +Cell[33072, 521, 646, 13, 69, "Input"], +Cell[33721, 536, 3248, 70, 297, "Input"], +Cell[36972, 608, 1647, 29, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[38656, 642, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[38804, 646, 230, 4, 30, "Text"], +Cell[39037, 652, 323, 7, 30, "Input"], +Cell[39363, 661, 376, 7, 30, "Text"], +Cell[39742, 670, 1953, 53, 170, "Input"], +Cell[41698, 725, 711, 14, 88, "Input"], +Cell[42412, 741, 249, 4, 30, "Text"], +Cell[42664, 747, 191, 4, 30, "Input"], +Cell[42858, 753, 1192, 25, 74, "Input"], +Cell[44053, 780, 1145, 24, 74, "Input"], +Cell[45201, 806, 1449, 42, 94, "Input"], +Cell[46653, 850, 1246, 26, 74, "Input"], +Cell[47902, 878, 1188, 25, 74, "Input"], +Cell[49093, 905, 2189, 50, 94, "Input"], +Cell[51285, 957, 1246, 26, 74, "Input"], +Cell[52534, 985, 1195, 25, 74, "Input"], +Cell[53732, 1012, 1454, 43, 94, "Input"], +Cell[55189, 1057, 1293, 26, 74, "Input"], +Cell[56485, 1085, 1240, 26, 74, "Input"], +Cell[57728, 1113, 2188, 50, 94, "Input"], +Cell[59919, 1165, 97, 1, 30, "Text"], +Cell[60019, 1168, 191, 4, 30, "Input"], +Cell[60213, 1174, 1239, 26, 72, "Text"], +Cell[61455, 1202, 1158, 25, 72, "Text"], +Cell[62616, 1229, 2083, 49, 93, "Text"], +Cell[64702, 1280, 1291, 26, 72, "Text"], +Cell[65996, 1308, 1235, 26, 72, "Text"], +Cell[67234, 1336, 2208, 50, 93, "Text"], +Cell[69445, 1388, 1341, 27, 72, "Text"], +Cell[70789, 1417, 1263, 26, 72, "Text"], +Cell[72055, 1445, 2163, 50, 93, "Text"], +Cell[74221, 1497, 1316, 27, 72, "Text"], +Cell[75540, 1526, 1259, 26, 72, "Text"], +Cell[76802, 1554, 2157, 49, 93, "Text"] +}, Open ]], +Cell[CellGroupData[{ +Cell[78996, 1608, 158, 2, 49, "Subsection"], +Cell[79157, 1612, 3034, 78, 359, "Input"], +Cell[82194, 1692, 293, 4, 30, "Text"], +Cell[82490, 1698, 3691, 99, 202, "Input"], +Cell[86184, 1799, 197, 3, 30, "Text"], +Cell[86384, 1804, 5116, 91, 554, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[91537, 1900, 162, 3, 49, "Subsection"], +Cell[91702, 1905, 194, 3, 30, "Text"], +Cell[91899, 1910, 1772, 34, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[93708, 1949, 174, 3, 49, "Subsection"], +Cell[93885, 1954, 1527, 24, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[95449, 1983, 88, 0, 49, "Subsection"], +Cell[95540, 1985, 304, 6, 30, "Text"], +Cell[95847, 1993, 1866, 35, 221, "Input"], +Cell[97716, 2030, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve42.pdf b/devPneumatic/PneumaticValve42.pdf new file mode 100644 index 0000000000000000000000000000000000000000..843858cf4536013e93af61b9f0e88867b67b2a5e GIT binary patch literal 120563 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 literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve42.svg b/devPneumatic/PneumaticValve42.svg new file mode 100644 index 0000000..2e43217 --- /dev/null +++ b/devPneumatic/PneumaticValve42.svg @@ -0,0 +1,1357 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve42.xml b/devPneumatic/PneumaticValve42.xml new file mode 100644 index 0000000..e70eaef --- /dev/null +++ b/devPneumatic/PneumaticValve42.xml @@ -0,0 +1,22 @@ + + + + + + + + + Pnenumatic Valve42. + PneumaticValve42.nb + PneumaticValve42.pdf + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve42G.nb b/devPneumatic/PneumaticValve42G.nb new file mode 100644 index 0000000..ce5e366 --- /dev/null +++ b/devPneumatic/PneumaticValve42G.nb @@ -0,0 +1,1950 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 93978, 1942] +NotebookOptionsPosition[ 90132, 1831] +NotebookOutlinePosition[ 90786, 1853] +CellTagsIndexPosition[ 90743, 1850] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve42", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, + 3.8048574830449095`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{3.8045956967664948`*^9, 3.8045988882774363`*^9, + 3.804599021844661*^9, 3.804757553946481*^9, 3.8047576859049883`*^9, + 3.8048377732989707`*^9, 3.8048378209927735`*^9, 3.8048379130278387`*^9, + 3.804853738418406*^9, 3.804857181747699*^9, 3.804920337376981*^9, + 3.8049212832728124`*^9, 3.8049213813076887`*^9, 3.805014808070986*^9, + 3.805014992970668*^9, 3.8050243175592833`*^9, 3.8055422556796074`*^9, + 3.8055422957312946`*^9}, + ExpressionUUID -> "439b81bd-ad7d-4618-ba96-da8feb512e81"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.804250348530491*^9, 3.804250557944478*^9, { + 3.804330370409816*^9, 3.80433039154989*^9}, 3.804330939958883*^9, + 3.804331023950798*^9, 3.804331146032308*^9, 3.804405475429482*^9, + 3.8044100012088203`*^9, 3.8045877815790515`*^9, 3.8045897137789774`*^9, + 3.804594281302554*^9, 3.8045951546726694`*^9, 3.8045953579779572`*^9, + 3.8045954958767147`*^9, 3.804595555970727*^9, 3.8045956284649487`*^9, + 3.8045956967065573`*^9, 3.804598888220494*^9, 3.804599021782724*^9, + 3.8047575537686644`*^9, 3.804757685843053*^9, 3.804837773271999*^9, + 3.8048378209658017`*^9, 3.804837912994873*^9, 3.8048537383814435`*^9, + 3.8048571817137337`*^9, 3.804920337352007*^9, 3.8049212832138724`*^9, + 3.8049213812457523`*^9, 3.805014808176936*^9, 3.805014993033169*^9, + 3.8050243176595645`*^9, 3.8055422557075796`*^9, 3.805542295759266*^9}, + ExpressionUUID -> "a9bd862e-afb6-4a5c-88f9-c5eced08ca87"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "4", ",", "17", ",", "4", ",", + "55.7682569`9.498961909483867"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { + 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.80554225576552*^9, + 3.805542295789235*^9}, + ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It \ +opens between pressure port (1) and load port (2) and between the load port \ +(4) and return (3) when the input signal it is one. The opening is \ +proportional to the input signal. At zero input signal it opens the load port \ +(2) to the return port (3) and between the pressure port (1) and load port \ +(4). The opening is proportional to the input signal. There is no valve \ +dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9, {3.8050237813496456`*^9, + 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ +62f88b1104a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003[<0@0006`0000000008@0002H300250P00 +oOoooogoooof3@00f@/00215CDH00040c3X005H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000a0/00;P;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000041CA010P0000000000/08/>P00000004m3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0; +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000T>BDA1E7RLkIaY +B5A]56QEUIdD9kJX/F@AmJ;JCD5RB/J;?ED>Y;ZI6d6V55:56IA:^U]=]> +9EYY=ITfj]cWoF0=CFhcc^dM7O_1@3icWW=>0Z:RXNVfZZj_YfK_en_E[O7emnOciLh=fSXj>08ZF90:;>G;T2>WYjKI>XdhL71b8Shl7H=>VCKaooehF_lnO?fO@X46X +E2[Lg=`J]:f^[PIn7UgfR5j_ilZE:iBGUo?P`@=KYeTB:YD:BI8hMnjL[M>YUggkmZ5FZdU;Bn?:UB]=m_?P`@>2PX8X;2c4gMfMh>1P/nOJ +[@R>7cn>CZM3[mMcm>QAFjMC;kejmF;il^D0A4A464oAUW3WcQd20P8X:RX2JWiZo?clc9i_Ub8@@Y2A +TH4@0ZPiCGkil/G6FMG?n_G[lOCdi>73QncO_mnR^CTi>H`O?ajMCVLL6cil^4Dnk584]foO=SVRE2XE +FEUI=/bXHEaMGMVnOC/0/K6aaR>jCVI6cM^e6^KUiO7m>WCCLh0_o3alJ5]fkHFaKHk4KahlJ;>3`MZ;Z2JJgLR>7gj=9FEUKG6bl_;bLS8/456U[5ahdHjMniWAP +biH]0:aI/jKN/mZaHlO8bLU1Xm5`nO9Uk]noCeaL7;jn__mW^_lkFT1X]EYQ;]kNgP8@KmjlOBaJ +]4P08R4QXE7K7C]f2414ADDe:IK1H13no_h24<^F;J_eOTE5QNSN_K/0a8H=6iXD@`PQ044;^h7DJU0Z +UB@U9J5D:SU`h01iNGTVknoL^I?G[eoC]F]GEZeJIGdlZcglhjl`L>105RaHP<5P828R`]Sh:Rh^=]jU +g;im>bh^;UK7nRN2I/bfKM]`MgOWf[E[Y:FU0CGG2CZMSR53QSBY4ZR;Ob9Xa[Rk^a73:1@:M^kLRD8QciZPOb9XiRaI/XAnoOYAG5a@420K34L0Co0/VJcKO20VWZo=N7P +h41BDQ:1PH6lNoL>]E[=i/fKIHgQ26@37FGenQNAJ`E>Bf;@X46h^;Q@EUJ6UiLG?Shn/_Ygi:L0]VgK +9Y_CahlOTiZJRXn?3d^G;YG5If5Q8DU9BLfjoongf;E[5fEUIBREBUjnO@8@g]kNXZb/c6[Oo:eVDFUY:FO?WTFY +E;:: +X:2PP5^gK]6nOG^VCYdZYn]FajUCYlS>cTJSdM@Z2OO/fH>;R`^IVIVb[:BFE@C9bLT0c9Xe2he68jO[ +ETEUIBE[ejh582HVQVkM^YVlkng]KMbW41TIJK:D[RW89P99TXcmKG_i:BP^;RHg=iOLg5`nO_`8`=^g +KheSObiQTh_M^gOco?Uc_;blR8j>[]b/XB3Ph?Xf;6SD:_E0Q3>c/jRGK]fXT>73/9P<=@iciXB/KRhF;A_geh0h_3Q``gJIVAT63nC^gO_ +RYD[EhZUBiNJ7N_GMnmX]HAnl_/5XE`g=Vc=b94SDJ_EU9JF6/O:bl]A:1CI?UOj7@jcY`iPd:Q82`/C0jGc@8W9bLV +C9Q@j`=eMGFeJ:nO^OaN4RHT93@X/ZM?Wc9ahTCS?/^:RPZZZZZX[ZhV?mnb7ObbR>34RA>DUiLC51A4 +Sahmi73IK0P?3lOEeMETC:oG?Aj_LWH`843J`W3F];CdkUhlB8JSHJ]FkLfJ^oYjLW=VcOamOG5`L71>2j4h3VcI_djM?7A0PU9BGe[U:^2j]5 +T9:BPQ22d=1@RgNn]1CVcI]Wk7/X50XVCIXTZolmNoK`k=Tc?3dmRHV9/FR^Vi/KejmOAj_EXU:YP9Y[ +]0/G;YS]`bXA224hL^@8H9lo1KnH?7Tb1X<1P2iM^]2mNgOIO7ohl<5hn]nbID^C3ZBfKM]bmNYE]5X] +KMZdXJ:R`_RmV8=E8/S>c^KUbiMdjmK=h^g@;@Tg=cNdFRe:YE;fnoRa/K5loOZEo_gkOWLnS@8H16Bd9cD:_EI6EU3P02@T903_knl010@404U9B@0C4a<0[:b/00d=3@3Ti>@0fm_K01@D500Z:RX0 +n?Sh00T92@3Cdm<0B4Q805]KF`3GemL06QXJ00820P20P800][Jf00l?3`071`L0QhN70=[JfP2o_kl0 +61PH01DE5@1OGel00@4102h^;P0[:b/0no_k0<_;b`0>3Ph0o_kn014A4@061PH0l_;b09:BTP32`/80 +EUIF0SX`3WinL0_[jn0;:b/P1fMWH01@D505ADE00o?cl0Hf=S0;Bd]03clo<0 +7AdM0?gmo@37alL0clo?038bk^kP2JVYX0 +5QHF05QHF01>CTh0Vi^K018B4P3/k>`0YjNW0>7Qh@3YjNT0SXj>03Lg=`1[Jf/0moOg020P8021PH40 +c3P`0L71`0m?Cd06ATI00k>c/0j>SX061PH00h>3P0Ti>C01LG5`34a<@0;bl_05aLG00V9RH0 +2`/;08R8R00N7Qh0KVi^08F5Q@2[Zj/0FEUI0>g]k@3Shn<0HV9R0?[jnP0/;2`0O7al09FEU@33`l<0 +_;bl0=WIf@0f=SH0De=C04M7A`3fm_H0h^;R0;>c/`1hN7P0nOWi07moO`22PX808b079bLP1ZJVX0FUYJ0492@P0I6AT0lO7a0=kNgP2^[Zh0 +f=SH04Y:BP14A4@0iNGU07YjNP0l?3`0XJ6Q0?Gem@0j>SX0ADE507emO@1nOWh0gmoO0:2PX00820P0 +7alO06EUI@0aP410@410@410000000000410@410@410@410@41 +WBYbA0410@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@41Z000 +0@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 +0@410@410FUSHhl026=SO0410@411`080@410@410@410@410B@0T6H10@410AQa09410@410@410@41 +0@410000000000410@410@410@410@410@41R@040@410@410@410@410@410@410@5801T10@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410HX=08/10@410H`0 +SF010@410@410@410@410000000000410@410@410@410@410@41PP0RQP410@410@410@410@410@41 +0@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +0@5g01T<0@41Qg80R0410@410@410@410@410000000000410@410@410@410@410@410H<0FP410@41 +0@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 +0@410@410@410@410@41@@0L0@41Q0250@410@410@410@410@410000000000410@410@410@410@41 +0@410Gl06`410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@41B1lZP06103:20@410@410@410@410@41000000000041 +0@410@410@410@410@410GTS7gX10@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410@410G/0GWam07h10@410@410@410@41 +0@410000000000410@410@410@410@410@410@5000/10@410@410@410@410@410@5801T10@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410FT_07P0AFH1 +0@410@410@410@410@410000000007=cLg=cLg=cLg=cLg=cLg=cLg00:0@410@410@410@410@410@41000<0@400@0100000@0100400001 +00400@0000400@0100000@0100400001004007410@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@410@5^:P0SF`410@410@410@410@410@41000L0@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410@410@U_06D0L0410@410@410@410@41 +0@41000ZP0410@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 +0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410F`0KCDO:Vh1 +0@410@410@410@410@410000GW`10@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4100810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +0@41FA40>P5Z06/`0@410@410@410@410@41000_07P10@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4000810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 +0@410@410@410@410@41I`1X<05Y;`030@410@410@410@410@41001f01l10@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@5S7e180@41I01UIP410@410@410@410@41000H>0010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@41A@1K0@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410DIN05l10@41H640HP410@410@410@41 +0@41001^:P010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +=5EEB`1FE@L10@410@410@410@410@D01P410@410@411`080@410@410@410@410EL0F5T10@410EX0 +6E]LG@410@410@410@41001_06D10@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@412`l00000D5410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +DRP0D`410@410@5?00YD;aD10@410@410@410000KCD10@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@41BT/000004cL10@410@410@410@410@D01P410@410@411`08 +0@410@410@410@41C01=AP410@410Di?0000?`L10@410@410@410000>P410@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410DD000004dH10@410@410@410@410@D0 +1P410@410@411`080@410@410@410@4J3am70@410@41B3l0000004T10@410@410@41001X<0410@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410Cho0000@0410@41 +0@410@410@410@D01P410@410@411`080@410@410@410C1104810@410@410D@410@410@410@410@410@D01P410@410@411`080@410@410@410CX0;c/10@410@410@4l +5P0001P0000000000/08/>P00000004m3 +8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000004m3:T0002@0000H0000 +0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 +9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 +30000000000Z@000900001P00000080o000000000000080oc56D@4@00030000000000Q0000 +200001`000080000B`000400000`00001@000200000100000@00010000000000000004d3003=0P00 +00000000001=0`00c@8002@0000T00000020?`00000000000020?c993DC/aAU40P0000`0000@0000 +00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 +10048T<0H@1/06T0HP1b06T0000000000000000PH40000000815@>:>^2?^W/900000000000000000 +00000>:>^2<0000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/8 +0@000000001_=C]f9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8000Q@P0I000Q0000 +5Wl10O@E003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWOd5@T0m1D42@00100Q@P40 +m1D9oooooonh400010T40;P@00000000@QTQ@TP@00015CDH[:T0002@0000H00000020?`0000000000 +0020?c993DC/aAU4:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000002E0000@000010000000000O@0<0 +30000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o000000000000080o +:>^2?^W/90000000000000000000000>:>^2<0000W8@000040000?0000M0400K1If`P00000 +/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl0 +0000048I0@50F]/8000Q@P0I000Q00005Wl10N/N003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g +00000=9]PWO[7_P0jah4n000100Q@P40jakhoooooonh40001?P40;P@00000000@QTQ@SP=M098g4l0 +k3L^MScNC`3[7PCh00000000000400001?P00>/Nn?oooooo^10000Ch102hFM/8I7H02000000U0000 +30000040000F0000300001P0000B000030000040000H000030000000009D0000E00003D2000Q0000 +K`800:h000020000000000000000000000000040001<00000000000000000000oooooooooom@0000 +@00015CDH[ +:T0002@0000H00000020?`00000000000020?c993D@9FQ13:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oXN0bA>c56D@4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000004d3003=0P0000000000001=0`00 +c@8002@0000T00000020?`00000000000020?j7P:>^2?^W/90000000000000000000000>:>^2<0000W +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8000Q@P0I000Q00005Wl10ATO003Pfdl0 +b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWLI7j<06Al4X`00100Q@P406AnSoooooonh4000 +1:<40;P@00000000@QTQ@T0;M098g4l0k3L^MScNC`0I7`BS00000000000400001:<001TOXooooooo +^10000BS102hFM/8I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 +30000000009D0000E0000<`2003h0@001P<008D200020000000000000000000000000040001<0000 +0000000000000000oooooooooom@0000<`0003/0000U0000300000h0080X000030000040000R0000 +30000?oooom60000l0000>@00015CDH[:T0002@0000H00000020?`00000000000020?j7P:>^2?^W/90 +000000000000000000000>:>^2<0000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8 +000Q@P0I000Q00005Wl10O@E003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWOd5@d0 +m1D43@00100Q@P40m1D=oooooonh400010d40;P@00000000@QTQ@TP000050000000000@00005000 +\>"], "Graphics", + ImageSize->{176., 148.8235294117647}, + ImageMargins->{{89, 0}, {0, + 4}},ExpressionUUID->"4318546e-77aa-46bf-804a-9a80e31c4070"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, 3.8048378158670616`*^9, { + 3.804920331165388*^9, 3.8049203326408653`*^9}, {3.8050132508483152`*^9, + 3.8050132546749153`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, + 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, + 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A14", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A34", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.804746010107048*^9, { + 3.8047734309389215`*^9, 3.804773431634205*^9}, {3.8047735782359843`*^9, + 3.804773578712495*^9}, {3.8050133037153454`*^9, 3.805013305517521*^9}, { + 3.8050145766619024`*^9, 3.8050145781360254`*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.80474606857274*^9, { + 3.8047734322315884`*^9, 3.804773432749055*^9}, {3.804773579240947*^9, + 3.8047735797104626`*^9}, {3.805013306559174*^9, 3.805013307880474*^9}, { + 3.8050145787849708`*^9, 3.8050145804595795`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, + 3.8047460279925995`*^9, 3.8047460694378476`*^9, {3.804773433649126*^9, + 3.8047734364842014`*^9}, {3.804773580248907*^9, 3.804773582622459*^9}, { + 3.805013309090266*^9, 3.8050133410404825`*^9}, {3.805014581747894*^9, + 3.805014588938695*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, + 3.8045875535512643`*^9, 3.8045877472244887`*^9, {3.8045958567664537`*^9, + 3.804595863157861*^9}, 3.80474603190956*^9, {3.804773505907591*^9, + 3.804773506350135*^9}, {3.8047735831199465`*^9, 3.804773583606445*^9}, { + 3.805014260545041*^9, 3.805014261996625*^9}, {3.8050145907757454`*^9, + 3.8050145925284595`*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, + 3.804587555119646*^9, 3.804587750394221*^9, {3.8045958590271235`*^9, + 3.804595860901189*^9}, {3.804599005689327*^9, 3.804599017566074*^9}, + 3.8047460701820803`*^9, {3.804773506901566*^9, 3.8047735073221316`*^9}, { + 3.804773584137896*^9, 3.8047735849091005`*^9}, {3.805014262852506*^9, + 3.805014264873622*^9}, {3.8050145933313894`*^9, 3.8050145950055046`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, 3.8043297589347453`*^9, + 3.8043311074246674`*^9, {3.804587557888789*^9, 3.804587559095545*^9}, { + 3.8045877537097993`*^9, 3.804587758719634*^9}, 3.804746032903533*^9, + 3.8047460710391965`*^9, {3.8047735079934397`*^9, 3.804773510539812*^9}, { + 3.804773585649337*^9, 3.8047735887741137`*^9}, {3.8050142662778196`*^9, + 3.8050142736306543`*^9}, {3.8050145964943037`*^9, 3.8050146072947173`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273494082735*^9, { + 3.8044099151808147`*^9, 3.804409925963391*^9}, 3.804587565114339*^9, + 3.804587726911441*^9, 3.8047460336227922`*^9, {3.804773437315344*^9, + 3.8047734378957453`*^9}, {3.804773626405298*^9, 3.804773626956728*^9}, { + 3.8050133506154284`*^9, 3.805013352279003*^9}, {3.8050147289513454`*^9, + 3.8050147304242887`*^9}}, + ExpressionUUID -> "161e22dd-9b38-4a95-ae56-199ec9fed0f7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p4"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p4"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8042734965921464`*^9, { + 3.8044099321503296`*^9, 3.804409936923113*^9}, 3.8045875671112766`*^9, + 3.8045877325286493`*^9, 3.8047460718034086`*^9, {3.8047734384671555`*^9, + 3.8047734389876194`*^9}, {3.8047736275031643`*^9, + 3.8047736283552856`*^9}, {3.8050133543570337`*^9, 3.805013356425194*^9}, { + 3.8050147313528247`*^9, 3.8050147326617966`*^9}}, + ExpressionUUID -> "c33b970e-db2b-4bed-954f-6e8826fa4108"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng14pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng14neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.8043297847255116`*^9, 3.804329810982648*^9}, { + 3.8045875692021213`*^9, 3.804587572510707*^9}, {3.80458773637668*^9, + 3.8045877400798616`*^9}, 3.8047460343100863`*^9, 3.8047460727893906`*^9, { + 3.804773439896682*^9, 3.804773443015465*^9}, {3.804773629239375*^9, + 3.8047736323561583`*^9}, {3.8050133570816803`*^9, + 3.8050133896587753`*^9}, {3.8050147340502462`*^9, 3.80501473905085*^9}}, + ExpressionUUID -> "d856a9b3-0177-4f18-9bf8-6350839d7252"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, { + 3.8044099459641075`*^9, 3.8044099587618484`*^9}, 3.8045875816093225`*^9, + 3.8045877054655666`*^9, 3.8047460350383315`*^9, {3.804773511195137*^9, + 3.804773511710605*^9}, {3.804773632852647*^9, 3.804773633328156*^9}, { + 3.805014274802712*^9, 3.8050142762223363`*^9}, {3.8050147401847153`*^9, + 3.805014741472805*^9}}, + ExpressionUUID -> "4c6d1c3a-a3c0-4ce6-ad4a-36c63ecc7310"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p4"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p4"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, { + 3.8044099637709303`*^9, 3.804409984817839*^9}, 3.804587583990865*^9, + 3.8045877074615045`*^9, 3.8047460740231185`*^9, {3.8047735122100906`*^9, + 3.8047735127225614`*^9}, {3.804773634024438*^9, 3.8047736345528927`*^9}, { + 3.805014276855688*^9, 3.8050142780440235`*^9}, {3.8050147421747036`*^9, + 3.8050147433160214`*^9}}, + ExpressionUUID -> "b93212b8-a683-4194-ae5e-77a536c9b51d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8043297620529838`*^9, + 3.80432978164869*^9}, {3.8045875876091347`*^9, 3.8045875931684*^9}, { + 3.8045877096172843`*^9, 3.8045877149767537`*^9}, 3.804746035796549*^9, + 3.8047460751030045`*^9, {3.8047735132939715`*^9, 3.8047735161260505`*^9}, { + 3.804773635280143*^9, 3.8047736383669586`*^9}, {3.8050142795638685`*^9, + 3.805014284415703*^9}, {3.805014744450555*^9, 3.8050147496358747`*^9}}, + ExpressionUUID -> "dd85bb0c-db7f-4dbb-b971-11acac55b4b3"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050238592557135`*^9, + 3.8050238615557156`*^9}},ExpressionUUID->"e35a9ee5-9df4-422f-9b3c-\ +902054fcd47a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE34", "=", + RowBox[{"qm34", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm34", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, + ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ +09172eb1a580"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + FractionBox[ + RowBox[{"p4", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], + SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Neg", "==", + FractionBox[ + RowBox[{"p4", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], + SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", + "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179915385733`*^9, + 3.8050179925094385`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ +2783204ff18e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, + ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, + 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ +b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}]}], "\n", " ", "}"}]}], ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,114,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542297149831*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,115,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.8055422971768036`*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,116,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542297201778*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ +\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,702,117,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.8055422972267523`*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "General","openx", + "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\ +petkr14\\\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\) is not open.\"",2,702,118, + 16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.8055422981038475`*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve42\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"n\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,702, + 119,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298169779*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,702,120,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.80554229821773*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,702,121,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298262684*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,702,122,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.80554229830464*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,702,123,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298349594*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,702,124,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298397544*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,702,125,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298448492*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,702,126, + 16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298522415*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,702,127,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, + 3.805542298572364*^9}, + ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{809, 704}, +WindowMargins->{{Automatic, -1252}, {44, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 378, 6, 70, "Section"], +Cell[961, 30, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1319, 38, 203, 3, 30, "Text"], +Cell[1525, 43, 740, 14, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2268, 59, 650, 9, 30, "Output"], +Cell[CellGroupData[{ +Cell[2943, 72, 482, 11, 50, "Input"], +Cell[3428, 85, 1752, 24, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[5217, 114, 1710, 35, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6930, 151, 2120, 32, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9053, 185, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[9440, 197, 98, 0, 49, "Subsection"], +Cell[9541, 199, 1001, 16, 106, "Text"], +Cell[10545, 217, 20551, 256, 161, "Graphics"], +Cell[31099, 475, 2085, 46, 183, "Input"], +Cell[33187, 523, 646, 13, 69, "Input"], +Cell[33836, 538, 3026, 65, 278, "Input"], +Cell[36865, 605, 1647, 29, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[38549, 639, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[38697, 643, 230, 4, 30, "Text"], +Cell[38930, 649, 323, 7, 30, "Input"], +Cell[39256, 658, 376, 7, 30, "Text"], +Cell[39635, 667, 1911, 52, 170, "Input"], +Cell[41549, 721, 249, 4, 30, "Text"], +Cell[41801, 727, 191, 4, 30, "Input"], +Cell[41995, 733, 1246, 28, 76, "Input"], +Cell[43244, 763, 1240, 28, 76, "Input"], +Cell[44487, 793, 1954, 47, 94, "Input"], +Cell[46444, 842, 1293, 29, 76, "Input"], +Cell[47740, 873, 1338, 29, 76, "Input"], +Cell[49081, 904, 2082, 48, 94, "Input"], +Cell[51166, 954, 1294, 29, 76, "Input"], +Cell[52463, 985, 1304, 29, 76, "Input"], +Cell[53770, 1016, 2056, 48, 94, "Input"], +Cell[55829, 1066, 1296, 29, 76, "Input"], +Cell[57128, 1097, 1298, 29, 76, "Input"], +Cell[58429, 1128, 2081, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[60547, 1181, 159, 3, 49, "Subsection"], +Cell[60709, 1186, 2209, 61, 307, "Input"], +Cell[62921, 1249, 243, 4, 30, "Text"], +Cell[63167, 1255, 3691, 99, 202, "Input"], +Cell[66861, 1356, 197, 3, 30, "Text"], +Cell[67061, 1361, 5054, 90, 537, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[72152, 1456, 162, 3, 49, "Subsection"], +Cell[72317, 1461, 194, 3, 30, "Text"], +Cell[72514, 1466, 1772, 34, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[74323, 1505, 174, 3, 49, "Subsection"], +Cell[74500, 1510, 1527, 24, 50, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[76064, 1539, 88, 0, 49, "Subsection"], +Cell[76155, 1541, 304, 6, 49, "Text"], +Cell[76462, 1549, 1698, 32, 202, "Input"], +Cell[CellGroupData[{ +Cell[78185, 1585, 122, 2, 30, "Input"], +Cell[78310, 1589, 563, 12, 39, "Message"], +Cell[78876, 1603, 565, 12, 39, "Message"], +Cell[79444, 1617, 563, 12, 39, "Message"], +Cell[80010, 1631, 450, 9, 21, "Message"], +Cell[80463, 1642, 564, 11, 39, "Message"], +Cell[81030, 1655, 5413, 80, 148, "Message"], +Cell[86446, 1737, 377, 8, 21, "Message"], +Cell[86826, 1747, 520, 11, 21, "Message"], +Cell[87349, 1760, 377, 8, 21, "Message"], +Cell[87729, 1770, 520, 11, 21, "Message"], +Cell[88252, 1783, 378, 8, 21, "Message"], +Cell[88633, 1793, 450, 9, 21, "Message"], +Cell[89086, 1804, 550, 11, 39, "Message"], +Cell[89639, 1817, 453, 9, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve43.hpp b/devPneumatic/PneumaticValve43.hpp new file mode 100644 index 0000000..a3467be --- /dev/null +++ b/devPneumatic/PneumaticValve43.hpp @@ -0,0 +1,1128 @@ +#ifndef PNEUMATICVALVE43_HPP_INCLUDED +#define PNEUMATICVALVE43_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve43.hpp +//! @author Petter Krus*, Victor Juliano De Negri** \ + +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 26 Aug 2020 13:22:12 +//! @brief Pneumatic 43-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, \ +PneumaticDevelop}/PneumaticValve43.nb*/ + +using namespace hopsan; + +class PneumaticValve43 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[16]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm34Pos; + double qm34Neg; + double Ng32e; + double Ng12e; + double Ng34e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double kappa; + double Kg; + double Ndenom; + double crit; + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm34Pos; + double *mpqm34Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg34e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve43(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(16,16); + systemEquations.create(16); + delayedPart.create(17,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm34Pos=stateVark[6]; + qm34Neg=stateVark[7]; + dE2=stateVark[8]; + dE4=stateVark[9]; + dE1=stateVark[10]; + dE3=stateVark[11]; + p2=stateVark[12]; + p4=stateVark[13]; + p1=stateVark[14]; + p3=stateVark[15]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) + qm34Neg*onNegative(p3 - p4) - \ +qm32Pos*onPositive(-p2 + p3) - qm34Pos*onPositive(p3 - p4); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm34Neg*onNegative(p3 - p4) + \ +qm14Pos*onPositive(p1 - p4) + qm34Pos*onPositive(p3 - p4); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-crit + p3/p2) + \ +onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - \ +Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng34e = onNegative(p3 - p4)*(onNegative(-Bf + p3/p4) + onPositive(-Bf \ ++ p3/p4)*signedSquareL(1 - Power(-Bf + p3/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p3 - p4)*(onNegative(-Bf + p4/p3) + onPositive(-Bf + \ +p4/p3)*signedSquareL(1 - Power(-Bf + p4/p3,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm34Pos)=qm34Pos; + (*mpqm34Neg)=qm34Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg34e)=Ng34e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE43_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve43.nb b/devPneumatic/PneumaticValve43.nb new file mode 100644 index 0000000..a7bba77 --- /dev/null +++ b/devPneumatic/PneumaticValve43.nb @@ -0,0 +1,2306 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 111879, 2298] +NotebookOptionsPosition[ 103735, 2181] +NotebookOutlinePosition[ 104381, 2203] +CellTagsIndexPosition[ 104338, 2200] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve43", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, + 3.8056277195650415`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[36]:=",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\""}], + "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9, 3.8054557323076034`*^9, {3.8074297088580017`*^9, + 3.807429710910327*^9}}, + CellLabel->"In[37]:=",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9, 3.805455735116706*^9, {3.807429714589466*^9, + 3.8074297165645885`*^9}}, + CellLabel->"In[38]:=",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { + 3.8056277070079937`*^9, 3.8056277230464497`*^9}, 3.8056277732686453`*^9}, + CellLabel->"In[39]:=",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "26", ",", "13", ",", "22", ",", + "9.8902161`8.747780745593813"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { + 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, + 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, + 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, + 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, + 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, + 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, + 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, + 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, + 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, + 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { + 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, + 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, + 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, + 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, + 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, + 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, + 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, + 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, + 3.8055296122630434`*^9, 3.805529852446294*^9, 3.8056244780357227`*^9, { + 3.8056277567836494`*^9, 3.8056277962789516`*^9}, 3.8074297299382553`*^9}, + CellLabel->"Out[47]=",ExpressionUUID->"765104dd-abcb-4ebb-a74f-12cc870a77f5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, + 3.805627773269644*^9}, + CellLabel->"In[48]:=",ExpressionUUID->"b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It \ +opens between pressure port (1) and load port (2) and between the load port \ +(4) and return (3) when the input signal it is one. The opening is \ +proportional to the input signal. At zero input signal it opens the load port \ +(2) to the return port (3) and between the pressure port (1) and load port \ +(4). The opening is proportional to the input signal. There is no valve \ +dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9, {3.8050237813496456`*^9, + 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ +62f88b1104a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002J40@0006`0000000008P000384001O0P00 +oOoooogoooo44@00<`/00215CDH00040Q2H007@0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A020:D@Z@000 +900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?o]R<4B7`a13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000000c1000YP80000000000000<`@00:H2000T000090000000P3l0000000000000P3okHS14 +Ql<@@`80000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 +00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 +0000000000000000000000000030ib]10001X`00001=0000000007QYhP0A00000000063]4AEHhTl0 +@:2`Me6]Ro_noooo`>5?05?0060001_=CAe +000000000000000000000:PEmhj9?0>`g9gKPDoX9C7d4[0T000000000100006Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@000320P008P000?`2002_0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380`b4k0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 +8D0700`000000000:T0002@0000H00000020?`00000000000020?kSf4TB7`a13140000`000000000 +8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 +YP80000000000000<`@00:H2000T000090000000P3l0000000000000P3nhmQ94Ql<@@`80000<0000 +40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 +000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 +000000000030ib]100010000001=0000000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo +`>5?05?0060001_=CAe0000000000000000 +00000:PEmhj9?0>`g9gKPDoX9C7d4[PT000000000100006Af00P000009@0000`0000100005P0000`0000H0000 +4P0000`000010000600000`000000002E00005@0001<0P008P0008H2002_00000P00000000000000 +0000000000010000C00000000000000000000?ooooooooooD00003@0<1@k00009@0000`0000>0020 +:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hTD;dAA8a14140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000000c1000YP80000000000000 +<`@00:H2000T000090000000P3l0000000000000P3n952m4DB<@A080000<00004000000000000000 +2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 +K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 +00010000001=0000000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 +5g/4EPT000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0002l0P00dP400?H2001O0P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD00003400h8k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@000010000000000U@000 +400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000 +0020?`00000000000020?i/b34AA8a14140000`0000000008@0000P0000L0000200004/000100000 +<00000D0000P00000@000040000@000000000000000c1000YP80000000000000<`@00:H2000T0000 +90000000P3l0000000000000P3nKL[@@00000000000000000000000000000000000030ib]100010000001=0000 +000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9@2<4K`T000000000 +100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002 +E00005@0000a0P00dP4006/2001O0P000P000000000000000000000000010000C000000000000000 +00000?ooooooooooD00003<0PWLk00009@0000`0000>0020:00000`0000100008P0000`0003ooooo +AP000<`000300000ADe6:bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000 +/08/>P00000003U3140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 +0@000040000@000000000000000c1000YP80000000000000<`@00:H2000T000090000;02;3X00000 +00000;02;3X00000000i@`80000R000030000?oooom60000a1000;P@0015CDH[:d0000`000000000 +7T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000 +/08/>P00000003U38D0700`00000000024000c`0000`00000Q30f`@00000000000000000003Po3ladV0Xla80000082Sc4P00@6100043P00ADe6:c100P0@000010000000P3lR@0@0 +30000000000Z@000900001P00000080o000000000000080o00000000000b@0017000010000000000 +00000000;4<00312:T0002@0000H00000020?`00000000000020?`00000000009D00010000040000 +000001m00`0<0000000001i02@0<0000000002501`0<0000000002Y0000T000060000000P3l00000 +00000000P3l00000000000Q000>X0000W000008@`=/@0000000003G2:T:T>iKBU2=L8Z@kU]:D;7W2m2^FdY@Te[;d:iKBU2 +eS3m=Jbm27020?lNL;d8L080o00<30`430`<10`<3 +0@<3PaA0080@000010000?ooool8@042>00002`000024<3K000009P000000000:P00@0<000000810 +0000008@`=/000000000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000 +0000@0<0000008100000008@`=/000000000o`Q00`00002`000024<3K000009P000000000K7N7?P<0000008100000008@`=/00000 +0000oaE01P0@0000100000L0000Z@000900001P00000080o000000000000080o000000000008@0P2 +>00002`000024<3K000009P0000000000000@0<0000008100000008@`=/000000000o`Q02@00002`000024<3K000009P000000000 +PB>9?P<0000008100000008@`=/000000000oaE0300@0000100000d0000Z@000900001P00000080o +000000000000080o000000000008@0h3Z00009`000024<3K40000000003B1bm2^@:]@IdX;d:i0Ze1 +[D4b@bm2jlR^@C93;d:MRRQ200002`000024<3K000009P000000000 +?I/=@0<0000008100000008@`=/000000000o`Q04`FUe12Zmh@Xal94400H40540HP100000400000000o`Q06@8h0000 +;000008@`=/00000V0000000000gaElo0`000000P40000000Q30f`000000003o5D0H010000040000 +6@0002Y0000T000060000EZT;;Aa93004001E07@0@0000100001`0000Z@000900001P00000080o000000000000080o +00000000000Z@000900001P00038hg50000006cHSKS8hg700Ge;`lim2T@8@1h2>00002`000024<3K +000009P000000000el;d?P<0000008100000008@`=/000000000o`Q07`3UJY2bdLB@`01000E@240400000@0000P0000:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H0000b>=a@00000000000b>=a@0[KHl>>BOo3240R0SP0000/0000 +0Q30f`00002H000000000384n3h300000020@00000024<3K000000000?l8@2<3;000020000024<3K +0P000000003VOkA2b;`?@lc>^D:B_Pm3004001E08`0@0000100002800008@2@2>00002`000024<3K +000009P000000000TB[Z?P<0000008100000008@`=/000000000o`Q09@EZT;;Aa93004001E0:@0@0000100002P0000Z@000900001P00000080o +000000000000080o00000000000Z@000900001P00000080o000000000000080o00000000000Z@000 +900001P00000080o000000000000080o00000000000V@000400000@000000000240Z11P0000<0000 +0Q30f`000003000@=40Z00`0000000008@0000P0001R000030000040001<0000I0000?goooomoooo +[P0002d0003moooooOoook80000a0000:@2Z0000000000000020?`00000000000020?`0000000000 +000000000000000000000000000000008P0000`0003oooooAP0001`0000@0000ADe6:`90000<0000 +000000h0000D000000000100000D0000240222@0000H00000Q30f`40000300000000000000000000 +6d010400000d00000P000080001;KSFoP6`e_cOk;4<1/cA20`0004]^=Kn0K3Fob4D/@h1/=Km;KSFo +Cmda@R4000080000HP0000`0000100008@0000P0000N000060000000002i0000<`@00<`1000L0000 +20000240000800008@0000P0001c000030000000000L0000200002D0000<00000000P2D0000<0000 +1`00P2D0000<00003P00P1T0000<0000oooo01P0000<000000000180000<00000P0001<0000<0000 +0@0001@0000<00003@0001D0000<00000@0001H0000<0000000000d0000@000000000000000j0000 +300000X0000K000040000000000000008`000200003/eLM000000000003`NlI0FJ2=@4iU?DcEad00000000000?1kaT1IX8e0CVDm@`@0001c000030000000000=000040000000002i0000 +DP00070100010000400000L00000000000000;`2000000001`828U<0N@1c07@0I@1]000000000000 +0000000000000000000000000000000000000000000000000000000000000000O`L00:SIC`35i:ag +Z=U?00?V[7MPP0000000000/08/>P00000003U3940000`000000000:d0000`000000000 +7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P0000800H8I4 +080YA3A00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00000 +000i@b501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00000000i@bY0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@0000100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q0000 +20000680000<00000@0004`0001T000000000;T0000b1000b`400000002i0000<`@001<1000Y0:X0 +000000000000080o000000000000080o0000000000000000000000000000000000000000000R0000 +30000?oooom60000700001000015CDH[0T0000`0000000003P0001@000000000400001@0 +\>"], "Graphics", + ImageSize->{215., 136.25}, + ImageMargins->{{81, 0}, {0, + 0}},ExpressionUUID->"9ac7b584-97fa-4869-9e52-67246a1c4fa2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + CellLabel->"In[49]:=",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + CellLabel->"In[50]:=",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, + 3.8055253268748503`*^9}}, + CellLabel->"In[51]:=",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, + CellLabel->"In[52]:=",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"3f37ab2d-e430-4819-a562-dfc5dc73a12c"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, + 3.804857115838684*^9}},ExpressionUUID->"b6eabba5-689e-41d3-a701-\ +bdf6d39b380b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", "xin"}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, + 3.8074296988609934`*^9}, + CellLabel->"In[53]:=",ExpressionUUID->"5f6f949a-b2db-4758-92a5-bab21f6f17a7"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, + 3.8050144886985893`*^9},ExpressionUUID->"f23c5a13-ce0e-4fb9-82f7-\ +7ccb0d190756"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf14", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf34", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { + 3.805455158947027*^9, 3.805455179490837*^9}}, + CellLabel->"In[54]:=",ExpressionUUID->"a464a7a7-686f-4523-b9f1-7e79fc500964"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf34", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, + 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { + 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, + 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { + 3.8055275203538437`*^9, 3.8055275229851294`*^9}}, + CellLabel->"In[58]:=",ExpressionUUID->"3662081e-fc84-4534-8082-a4d488e89d82"], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"f1e01d87-d10c-4e1f-9df2-\ +429682ed3079"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + CellLabel->"In[62]:=",ExpressionUUID->"0f669350-3c39-434f-a8c4-fbf45f961e1c"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { + 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, + CellLabel->"In[63]:=",ExpressionUUID->"77aa4a52-67b5-4fe4-9a75-902adcce3a66"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, + 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, + CellLabel->"In[64]:=",ExpressionUUID->"cf3d0473-42e4-46bb-8e02-74151ff1baea"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv + "], + CellLabel->"In[65]:=",ExpressionUUID->"f3259fdf-6053-4143-92c7-ebbeb818451a"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, + 3.805529803320966*^9}}, + CellLabel->"In[66]:=",ExpressionUUID->"8cd3fa19-1323-47c8-b0d1-e4be59c111b2"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { + 3.805529804336918*^9, 3.805529805264961*^9}}, + CellLabel->"In[67]:=",ExpressionUUID->"0031f393-ff86-447b-b4c0-26637c96b6bb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, + 3.80552980857155*^9}}, + CellLabel->"In[68]:=",ExpressionUUID->"35167695-1076-495c-81ed-a56cdfe635a7"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, + 3.8055269059685616`*^9}}, + CellLabel->"In[69]:=",ExpressionUUID->"c1635681-402c-4cc3-98b0-590f8d84c9b2"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { + 3.8055269247042356`*^9, 3.805526925551361*^9}}, + CellLabel->"In[70]:=",ExpressionUUID->"a81ff3e8-7e90-4584-90de-2c7b9000c5b6"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U + + "], + CellLabel->"In[71]:=",ExpressionUUID->"8e6e0047-5430-435b-b88a-367935c1253e"], + +Cell[BoxData[ + RowBox[{"Ng34Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, + 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}}, + CellLabel->"In[72]:=",ExpressionUUID->"072dfa41-2bb7-4c65-977f-e233a58899d0"], + +Cell[BoxData[ + RowBox[{"Ng34Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, + 3.805526943719621*^9}}, + CellLabel->"In[73]:=",ExpressionUUID->"192e622c-1c0a-4245-aaaf-015c38a3087a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng34Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng34Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, + 3.805529825723857*^9}}, + CellLabel->"In[74]:=",ExpressionUUID->"78bae3b6-4f55-409f-83a9-459913c42331"], + +Cell["New equations", "Text", + CellChangeTimes->{{3.805524947233452*^9, + 3.8055249549494934`*^9}},ExpressionUUID->"2bf20dc9-a80a-412f-b4ad-\ +219433a841c5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + CellLabel->"In[75]:=",ExpressionUUID->"bd2e19b2-b9c1-4556-99ce-7c5304d27def"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, 3.8055264099145555`*^9, {3.805526577594593*^9, + 3.8055265785376205`*^9}, {3.8055271226870155`*^9, 3.805527123869795*^9}, + 3.805527740537723*^9},ExpressionUUID->"13d637b9-1555-421b-8227-\ +db7469f89155"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, 3.805526409916554*^9, + 3.805526579778341*^9, {3.805527124670969*^9, 3.80552712535826*^9}, + 3.80552774054072*^9},ExpressionUUID->"ddd652e9-cd19-47cd-a930-\ +2bb72dd095fe"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, + 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { + 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, + 3.8054538803995576`*^9}, {3.805527641611766*^9, 3.805527645459796*^9}, + 3.805529598322423*^9},ExpressionUUID->"27bfae8c-7302-4141-a2bf-\ +d9e3263f3238"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, + 3.8055263349039297`*^9, 3.8055266140100307`*^9, {3.8055268414833913`*^9, + 3.805526842481363*^9}, 3.8055270864154296`*^9, + 3.8055296089434676`*^9},ExpressionUUID->"fe613658-e1b8-4f9b-a802-\ +0bc290b03b31"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, 3.805526328338702*^9, 3.805526614013027*^9, { + 3.8055268433864284`*^9, 3.8055268441995883`*^9}, 3.805527086420425*^9, + 3.805529608946464*^9},ExpressionUUID->"bdd60820-4197-4dd9-b1b7-\ +8eaa36c880b5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805527683510547*^9, 3.805527693371375*^9}, {3.805529507535071*^9, + 3.80552951191755*^9}, + 3.8055296089484615`*^9},ExpressionUUID->"df7d93e8-b17a-4aa5-8ee6-\ +d37cce4d8737"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055249814321766`*^9, 3.8055249829356265`*^9}, 3.805526364135778*^9, + 3.8055266227879753`*^9, 3.8055277773247786`*^9, {3.805527870193982*^9, + 3.8055278767632055`*^9}, + 3.8055297742309713`*^9},ExpressionUUID->"5bf81bb3-4301-4ce6-b6f2-\ +3c6c2347be17"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805524983864667*^9, 3.8055249846158924`*^9}, + 3.8055263641387744`*^9, 3.8055266227909737`*^9, 3.805527777326775*^9, + 3.805527876765204*^9, + 3.80552977423297*^9},ExpressionUUID->"db7e5e62-1fd5-4224-9710-\ +ea7ceb0a0a12"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, + 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { + 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, + 3.8054538803995576`*^9}, {3.8054553818650866`*^9, + 3.8054554005118523`*^9}, {3.805527833475857*^9, 3.805527843570444*^9}, + 3.8055295212149596`*^9, + 3.8055297742359667`*^9},ExpressionUUID->"ec545716-415d-4f56-b87b-\ +943ed6410b3e"], + +Cell[BoxData[ + RowBox[{"Ng34Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055249874229965`*^9, + 3.805524988247146*^9}, 3.8055263703683476`*^9, 3.80552669658885*^9, + 3.8055297742379646`*^9},ExpressionUUID->"7285dded-a20f-4fd0-ab96-\ +7c32a971f296"], + +Cell[BoxData[ + RowBox[{"Ng34Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Text", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805524989111255*^9, 3.805524989927414*^9}, 3.8055263703743415`*^9, + 3.805526696590848*^9, + 3.805529774238964*^9},ExpressionUUID->"9fa5f515-c45d-471e-bb8b-\ +b6a38d9a56e4"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Text", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, + 3.805529774240961*^9},ExpressionUUID->"b59efbec-7ca0-452f-b1bc-\ +57e02bacc170"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"9c8487f3-d792-499b-b83d-\ +d892e92b9761"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Bf", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}, {3.8055256479961305`*^9, 3.8055256582105937`*^9}, + 3.8055256895792384`*^9, {3.8055257273223047`*^9, 3.8055257298656807`*^9}, + 3.8055259498950443`*^9, 3.8055260626667433`*^9, {3.8055261209216537`*^9, + 3.8055261237827024`*^9}, 3.8055271676386476`*^9, {3.8055272416423116`*^9, + 3.805527250725942*^9}, {3.8055274170813465`*^9, 3.805527443933647*^9}, { + 3.8055275137886157`*^9, 3.8055275142950935`*^9}, {3.805529845314649*^9, + 3.805529848927924*^9}}, + CellLabel->"In[76]:=",ExpressionUUID->"925e8147-260b-4ae2-a077-4ccece4e1320"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"d498cdc3-afb6-41a2-a5a9-\ +bf55608ed723"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE34", "=", + RowBox[{"qm34", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm34", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, + CellLabel->"In[77]:=",ExpressionUUID->"ca8b58d5-b3b2-4694-b98a-8bf2f94bfae1"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"16a4c55d-3f1b-4184-aab2-\ +84cb40eb016b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + RowBox[{"Cf14", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + RowBox[{"Cf14", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Pos", "==", + RowBox[{"Cf34", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Neg", "\[Equal]", + RowBox[{"Cf34", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", + "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, + 3.805455634417577*^9}, 3.8054560708467517`*^9}, + CellLabel->"In[85]:=",ExpressionUUID->"3bbdeb39-de81-47b4-b6fc-6e8113ed8429"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179915385733`*^9, + 3.8050179925094385`*^9}},ExpressionUUID->"60701491-65f0-4152-a259-\ +e15f71628f8e"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"185fa84e-3f52-4d3b-b722-\ +e50b73fe167d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, + CellLabel->"In[86]:=",ExpressionUUID->"7f45f718-9490-461f-b146-1311aa2a24c5"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"a3a12c51-b778-4e18-8e1a-\ +7d0e0ff65517"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, + CellLabel->"In[87]:=",ExpressionUUID->"aed11a89-3aa7-4724-9ed9-aa33590a712d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"3a5b0239-9ae0-4baa-9949-a08ff28e0827"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, + 3.8047464099747696`*^9}},ExpressionUUID->"2357439c-7e93-41bb-9411-\ +56f3ec0260e6"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", + RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, + 3.805525497428443*^9, 3.8055260034368134`*^9}, + CellLabel->"In[88]:=",ExpressionUUID->"6b05c835-b975-4200-8a8a-ec2005bec131"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellLabel->"In[89]:=",ExpressionUUID->"f51a4c92-785a-4aff-b8ca-37ce5a43962c"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement", "cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve43\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve43\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"14\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0.928571\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Bfe\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve43\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"P\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"43\\\\\\\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\ +\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\ +\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\ +\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\ +\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\ +\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ +\", \\\"14\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\ +\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \ +\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\ +\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \ +\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\ +\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is \ +not a list of contents. The third item in an XMLElement must be a list of \ +contents, even if it is an empty list.\"", 2, 89, 23, 19168101375392658865, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297327675967`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"f12f5c5f-774b-48f8-8274-e2643cde3082"], + +Cell[BoxData[ + TemplateBox[{ + "Export", "autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"", 2, 89, 24, 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297328899913`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"3ecb0b67-e9b5-4a05-ab71-5125a95488c7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement", "attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"", 2, 89, 25, 19168101375392658865, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297329056225`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"69ee6d6b-ba1f-442b-ac2e-1de72542c28b"], + +Cell[BoxData[ + TemplateBox[{ + "Export", "autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"", 2, 89, 26, 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297329212475`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"add8a185-134b-4648-b73c-02b79b947e1b"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement", "attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"", 2, 89, 27, 19168101375392658865, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297329368696`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"b8bf90a2-3a93-4e3a-a6a3-766599eb44d3"], + +Cell[BoxData[ + TemplateBox[{ + "Export", "autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"", 2, 89, 28, 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.807429733005885*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"0e9fe37c-7faa-4dac-a5bb-df87e2d3846e"], + +Cell[BoxData[ + TemplateBox[{ + "General", "stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"", 2, 89, 29, 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297330215073`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"099225a9-f3a9-4f95-9f29-112171b39f9f"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement", "attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"", 2, 89, 30, + 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.807429733094333*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"22beec88-dff8-402e-849f-ff47daeb39ea"], + +Cell[BoxData[ + TemplateBox[{ + "General", "stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"", 2, 89, 31, 19168101375392658865, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8074297331632767`*^9}, + CellLabel-> + "During evaluation of \ +In[89]:=",ExpressionUUID->"0c42d74c-fb6c-4756-8f99-8ee1bacc7a64"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1120, 801}, +WindowMargins->{{Automatic, 217}, {Automatic, 0}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (March 14, 2020)", +StyleDefinitions->"Default.nb", +ExpressionUUID->"aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 402, 6, 67, "Section",ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], +Cell[985, 30, 375, 6, 28, "Input",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1363, 38, 203, 3, 34, "Text",ExpressionUUID->"d841070d-8477-431e-b63d-f1e54cda9d7b"], +Cell[1569, 43, 823, 16, 28, "Input",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2395, 61, 560, 12, 28, "Input",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], +Cell[CellGroupData[{ +Cell[2980, 77, 1879, 38, 181, "Input",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4862, 117, 3522, 50, 32, "Output",ExpressionUUID->"765104dd-abcb-4ebb-a74f-12cc870a77f5", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[8387, 169, 396, 8, 28, "Input",ExpressionUUID->"b013c274-698f-428f-b38d-a2e617c365f0", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[8820, 182, 98, 0, 53, "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], +Cell[8921, 184, 1001, 16, 78, "Text",ExpressionUUID->"8691b14c-c93d-4322-aee2-62f88b1104a4"], +Cell[9925, 202, 13529, 169, 145, "Graphics",ExpressionUUID->"9ac7b584-97fa-4869-9e52-67246a1c4fa2"], +Cell[23457, 373, 2506, 53, 213, "Input",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], +Cell[25966, 428, 666, 13, 67, "Input",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], +Cell[26635, 443, 3268, 70, 295, "Input",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], +Cell[29906, 515, 1667, 29, 124, "Input",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[31610, 549, 145, 2, 53, "Subsection",ExpressionUUID->"3f37ab2d-e430-4819-a562-dfc5dc73a12c", + Evaluatable->False, + PageBreakAbove->False], +Cell[31758, 553, 230, 4, 34, "Text",ExpressionUUID->"b6eabba5-689e-41d3-a701-bdf6d39b380b"], +Cell[31991, 559, 322, 6, 28, "Input",ExpressionUUID->"5f6f949a-b2db-4758-92a5-bab21f6f17a7"], +Cell[32316, 567, 376, 7, 34, "Text",ExpressionUUID->"f23c5a13-ce0e-4fb9-82f7-7ccb0d190756"], +Cell[32695, 576, 1973, 53, 160, "Input",ExpressionUUID->"a464a7a7-686f-4523-b9f1-7e79fc500964"], +Cell[34671, 631, 790, 15, 86, "Input",ExpressionUUID->"3662081e-fc84-4534-8082-a4d488e89d82"], +Cell[35464, 648, 249, 4, 34, "Text",ExpressionUUID->"f1e01d87-d10c-4e1f-9df2-429682ed3079"], +Cell[35716, 654, 211, 4, 28, "Input",ExpressionUUID->"0f669350-3c39-434f-a8c4-fbf45f961e1c"], +Cell[35930, 660, 1212, 25, 69, "Input",ExpressionUUID->"77aa4a52-67b5-4fe4-9a75-902adcce3a66"], +Cell[37145, 687, 1165, 24, 69, "Input",ExpressionUUID->"cf3d0473-42e4-46bb-8e02-74151ff1baea"], +Cell[38313, 713, 1469, 42, 88, "Input",ExpressionUUID->"f3259fdf-6053-4143-92c7-ebbeb818451a"], +Cell[39785, 757, 1266, 26, 69, "Input",ExpressionUUID->"8cd3fa19-1323-47c8-b0d1-e4be59c111b2"], +Cell[41054, 785, 1208, 25, 69, "Input",ExpressionUUID->"0031f393-ff86-447b-b4c0-26637c96b6bb"], +Cell[42265, 812, 2209, 50, 88, "Input",ExpressionUUID->"35167695-1076-495c-81ed-a56cdfe635a7"], +Cell[44477, 864, 1266, 26, 69, "Input",ExpressionUUID->"c1635681-402c-4cc3-98b0-590f8d84c9b2"], +Cell[45746, 892, 1215, 25, 69, "Input",ExpressionUUID->"a81ff3e8-7e90-4584-90de-2c7b9000c5b6"], +Cell[46964, 919, 1474, 43, 88, "Input",ExpressionUUID->"8e6e0047-5430-435b-b88a-367935c1253e"], +Cell[48441, 964, 1313, 26, 69, "Input",ExpressionUUID->"072dfa41-2bb7-4c65-977f-e233a58899d0"], +Cell[49757, 992, 1260, 26, 69, "Input",ExpressionUUID->"192e622c-1c0a-4245-aaaf-015c38a3087a"], +Cell[51020, 1020, 2208, 50, 88, "Input",ExpressionUUID->"78bae3b6-4f55-409f-83a9-459913c42331"], +Cell[53231, 1072, 157, 3, 34, "Text",ExpressionUUID->"2bf20dc9-a80a-412f-b4ad-219433a841c5"], +Cell[53391, 1077, 211, 4, 28, "Input",ExpressionUUID->"bd2e19b2-b9c1-4556-99ce-7c5304d27def"], +Cell[53605, 1083, 1237, 26, 80, "Text",ExpressionUUID->"13d637b9-1555-421b-8227-db7469f89155"], +Cell[54845, 1111, 1156, 25, 80, "Text",ExpressionUUID->"ddd652e9-cd19-47cd-a930-2bb72dd095fe"], +Cell[56004, 1138, 2081, 49, 99, "Text",ExpressionUUID->"27bfae8c-7302-4141-a2bf-d9e3263f3238"], +Cell[58088, 1189, 1293, 27, 80, "Text",ExpressionUUID->"fe613658-e1b8-4f9b-a802-0bc290b03b31"], +Cell[59384, 1218, 1233, 26, 80, "Text",ExpressionUUID->"bdd60820-4197-4dd9-b1b7-8eaa36c880b5"], +Cell[60620, 1246, 2210, 51, 99, "Text",ExpressionUUID->"df7d93e8-b17a-4aa5-8ee6-d37cce4d8737"], +Cell[62833, 1299, 1343, 28, 80, "Text",ExpressionUUID->"5bf81bb3-4301-4ce6-b6f2-3c6c2347be17"], +Cell[64179, 1329, 1265, 27, 80, "Text",ExpressionUUID->"db7e5e62-1fd5-4224-9710-ea7ceb0a0a12"], +Cell[65447, 1358, 2165, 51, 99, "Text",ExpressionUUID->"ec545716-415d-4f56-b87b-943ed6410b3e"], +Cell[67615, 1411, 1314, 27, 80, "Text",ExpressionUUID->"7285dded-a20f-4fd0-ab96-7c32a971f296"], +Cell[68932, 1440, 1261, 27, 80, "Text",ExpressionUUID->"9fa5f515-c45d-471e-bb8b-b6a38d9a56e4"], +Cell[70196, 1469, 2159, 50, 99, "Text",ExpressionUUID->"b59efbec-7ca0-452f-b1bc-57e02bacc170"] +}, Open ]], +Cell[CellGroupData[{ +Cell[72392, 1524, 159, 3, 53, "Subsection",ExpressionUUID->"9c8487f3-d792-499b-b83d-d892e92b9761"], +Cell[72554, 1529, 3054, 78, 345, "Input",ExpressionUUID->"925e8147-260b-4ae2-a077-4ccece4e1320"], +Cell[75611, 1609, 291, 4, 34, "Text",ExpressionUUID->"d498cdc3-afb6-41a2-a5a9-bf55608ed723"], +Cell[75905, 1615, 3711, 99, 200, "Input",ExpressionUUID->"ca8b58d5-b3b2-4694-b98a-8bf2f94bfae1"], +Cell[79619, 1716, 197, 3, 34, "Text",ExpressionUUID->"16a4c55d-3f1b-4184-aab2-84cb40eb016b"], +Cell[79819, 1721, 5136, 91, 519, "Input",ExpressionUUID->"3bbdeb39-de81-47b4-b6fc-6e8113ed8429"] +}, Open ]], +Cell[CellGroupData[{ +Cell[84992, 1817, 162, 3, 53, "Subsection",ExpressionUUID->"60701491-65f0-4152-a259-e15f71628f8e"], +Cell[85157, 1822, 194, 3, 34, "Text",ExpressionUUID->"185fa84e-3f52-4d3b-b722-e50b73fe167d"], +Cell[85354, 1827, 1792, 34, 124, "Input",ExpressionUUID->"7f45f718-9490-461f-b146-1311aa2a24c5"] +}, Open ]], +Cell[CellGroupData[{ +Cell[87183, 1866, 174, 3, 53, "Subsection",ExpressionUUID->"a3a12c51-b778-4e18-8e1a-7d0e0ff65517"], +Cell[87360, 1871, 1547, 24, 28, "Input",ExpressionUUID->"aed11a89-3aa7-4724-9ed9-aa33590a712d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[88944, 1900, 88, 0, 53, "Subsection",ExpressionUUID->"3a5b0239-9ae0-4baa-9949-a08ff28e0827"], +Cell[89035, 1902, 304, 6, 34, "Text",ExpressionUUID->"2357439c-7e93-41bb-9411-56f3ec0260e6"], +Cell[89342, 1910, 1886, 35, 219, "Input",ExpressionUUID->"6b05c835-b975-4200-8a8a-ec2005bec131"], +Cell[CellGroupData[{ +Cell[91253, 1949, 142, 2, 28, "Input",ExpressionUUID->"f51a4c92-785a-4aff-b8ca-37ce5a43962c"], +Cell[91398, 1953, 8602, 124, 148, "Message",ExpressionUUID->"f12f5c5f-774b-48f8-8274-e2643cde3082"], +Cell[100003, 2079, 384, 9, 21, "Message",ExpressionUUID->"3ecb0b67-e9b5-4a05-ab71-5125a95488c7"], +Cell[100390, 2090, 526, 12, 21, "Message",ExpressionUUID->"69ee6d6b-ba1f-442b-ac2e-1de72542c28b"], +Cell[100919, 2104, 384, 9, 21, "Message",ExpressionUUID->"add8a185-134b-4648-b73c-02b79b947e1b"], +Cell[101306, 2115, 526, 12, 21, "Message",ExpressionUUID->"b8bf90a2-3a93-4e3a-a6a3-766599eb44d3"], +Cell[101835, 2129, 382, 9, 21, "Message",ExpressionUUID->"0e9fe37c-7faa-4dac-a5bb-df87e2d3846e"], +Cell[102220, 2140, 456, 10, 21, "Message",ExpressionUUID->"099225a9-f3a9-4f95-9f29-112171b39f9f"], +Cell[102679, 2152, 554, 12, 21, "Message",ExpressionUUID->"22beec88-dff8-402e-849f-ff47daeb39ea"], +Cell[103236, 2166, 459, 10, 21, "Message",ExpressionUUID->"0c42d74c-fb6c-4756-8f99-8ee1bacc7a64"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve43.pdf b/devPneumatic/PneumaticValve43.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75fdeb2ba7b1823b2981d6872d5075b1f42390f2 GIT binary patch literal 83608 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 literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve43.svg b/devPneumatic/PneumaticValve43.svg new file mode 100644 index 0000000..e1d7251 --- /dev/null +++ b/devPneumatic/PneumaticValve43.svg @@ -0,0 +1,938 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve43.xml b/devPneumatic/PneumaticValve43.xml new file mode 100644 index 0000000..d217a15 --- /dev/null +++ b/devPneumatic/PneumaticValve43.xml @@ -0,0 +1,22 @@ + + + + + + + + + Pnenumatic Valve43. + PneumaticValve43.nb + PneumaticValve43.pdf + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve43G.nb b/devPneumatic/PneumaticValve43G.nb new file mode 100644 index 0000000..e11d860 --- /dev/null +++ b/devPneumatic/PneumaticValve43G.nb @@ -0,0 +1,1941 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 95172, 1933] +NotebookOptionsPosition[ 91441, 1826] +NotebookOutlinePosition[ 92093, 1848] +CellTagsIndexPosition[ 92050, 1845] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve42", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, + 3.8050154086866717`*^9, 3.8055423789144907`*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9, 3.805017464201169*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9, 3.805017466360217*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, {3.805015403180214*^9, + 3.80501540461871*^9}, 3.805023293250611*^9, {3.805542374100456*^9, + 3.8055423758916087`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "4", ",", "17", ",", "6", ",", + "58.3428196`9.518562244901013"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, + 3.8050150585559487`*^9, 3.8050150990774965`*^9, 3.805015442348082*^9, + 3.805023293250611*^9, 3.8050243267967815`*^9, 3.8055424184027586`*^9}, + ExpressionUUID -> "2cc7933b-b490-466e-b72e-d254152371ee"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805023293250611*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"fadab240-49cc-4b81-bd36-7fa09970aaa6"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It is \ +closes all flow paths when the input signal is zero and opens between \ +pressure port (1) and load port (2) and between the load port (4) and return \ +(3) when it is one. The opening is proportional to the input signal. At \ +negative signals it opens the load port (2) to the return port (3) and \ +between the pressure port (1) and load port (4). The opening is \ +proportional to the input signal. There is no valve dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9},ExpressionUUID->"edfb927c-dba4-4e5f-ba78-\ +d5e22027e051"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0004Ed0@0006`0000000008@00038400250P00 +oOoooogoooo44@00e0/00215CDH00040M4D005H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000k0d00>0=0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A000P0000000000/08/>P00000004m3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000003Po3ladV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000/gBDA1E7RLkIam +D9AEnlLob`9;;<_Kd`<:fZVD>A=:AC2IRXAFA:8@2TG_UX=Jd0a9P4300[;WnL=WmnOn5]akfK]If?HcLln`Ijoc_Jjm^CRL?OMe3/`/LP3Q^_jA +U`58DC1cn0m`6IQ9O?WkMZNnK<6@2l_;bhM>VB;?ODN7gllLN/G;WbUSK679Q9 +2F/COGem=3DelN677cXj5:MPjM:Ua73R0BZFRZZZ:Ccome6jmj^YZWWonNC@J3@T92I;j>6g2jW@j1PL7lO;bXZj^c]7Q>0EQHF6T +YJD1=jI6Hf=SDmKBjGA/g[bIWYhN_;blF;AXTJAnCYV`Hf=SO?KII`3dmoMCEEGUh8RLQjb/;492@_Sa +aaliO?S`U3A:Bd_I]6TC_Kfm02aK]TabGjMWCn?^kPiPV]BkT0LO7aofkM/7@4i>3UeMGCKe;bTY +hLDGGfATI0@0Kfm_eZmO;kVoDbI/ADD5@d=3Y]L30`=L_7SAPA4i5a/gK^C11anT]kNGk>a/bOgNN^/] +d]?CjNo_=kFYeFXNNN@AbAY>VK1EEEF=Td3SaJgY:InnjkSfNOOAJ3`D1JF][=JjDF73YdR9dk +Mm;Cdf?F[U@ZBDY://V_dbE/MGDeejmO]fQ_JFTaVbJh/9olo7clo?`hNoH/iNGUTmXU92B@VYYZ1^[Xjh^;R71[Oh>0P[kkjZTGk]mmn2l077gc0 +eemoKF[gmOEUmnkM5_I3@d>ll/X[Tn[XM3YJFe]=kChn?VAUIMTMold41@FAUIF5EZ]5ZmDB7an?FZff +/0/92N7eeenW/[:BPH41O7al<1P<:9E:5RmN;6]OWRo[jnTWkFR<_;dl08SdmgJY]BDV904A:BX[5NeN_G[FYj2SYJ +0>;lnO>fgi3o3S8j>SZYSReOK6c1`l>3P`L?/V[E:_K_ +glnVCI^H?gnnVDe7A`O5aLD051HF4QPHB6IViYCl>EG2cPBl_KeUn@>BBdL>7WgdDEJ_G/gahlOAJ[ED +E5BH_Km[ebj6QXJ8SHgUbBNO]<^GdggYL^4HRX^;DJUDE5IFL_;TBE?kEemmAEUI6@Z5PSONN0>5`[kZ +D5O2^Y25/;0`]VoO3/2>7C]iookkkOKSBUPG/W5cWL4kkka3IFDUmOGeg7KKKKcf +fV^bn73=HEg8QTJS8Bl_SmCDE?K/fD=0@0006ATIg7777K;hL>O6UY?iePbW0G3X45kM0XE2`Kmln7WkhH@2fK=V2[jn_K?[^`5j01@/Fb2Ij +oOYeO_omMc@J3H61PK9XSXf=dMkNK_4lf/GdXkZjf_CcZE>Wb5hf][JN?_]]h4K3dTJ6QXhM^bHJI>U_O`]Z`A7SQ`1K]A=^_QWTI6A +`NSX:8lmmQQkmnhe]@d>3/ZR;g_2=SDeLN721H:3PeViLZGLlRjV=dh7De5@iIIf>VYXJm7ZmI?_77glLUDYUdGkln76K +MU74alOSiNDUfEhZQHF5o?KKKlbIgK@f]YZegAA05<^h3GBdmRJE;UhZHV1PaMniLDb5dC4b7golHMIOSP;^c/i>hN_[:`1am>SABNgjno_5k=Vc1B0> +7CXTQ12RXj=3M7EeBO9So0bbSK3UiNFCL^G=V9iadMWKBfMV9WioOU9n? +alO7dmOGImKFf=Q8AdL73cc`Pl9nlldg@ZUD2T2L?WgJZWe[ +Jj_`moLg^iM;URbAi<]X;l^G[[Jf=QXK6e6[eGIGU4lgTY>C;KJYJ3@JVkLW>b=J[IKalG6BTY:/7SND +WYk>@`lma;E[elcJ;ennK3X5APZb96aYJBU229:BTRKMPcACRHn?]mP[YMO[oo4?AFY[JcUilRBNWYjV +/g=_AGIf=Z6QXBREB[=f_Ei_>W]F2WHW[132ZAo51PD5LMMMMiVeADE5oFfKnVH2hn?SY_eTFkM^9C`l +g6ZOP8006QXJR8R8<4_J_[hnM3ZMI=mf9ncI/fMYJf/S=3BD5B]Ff2/g;DU>C/K3``<0MgMgWWWV6@M7 +i5SNOOMM__onN`820RHljkkcI;fU>WCTWF/3]QSF^_6cM^]1S^WHFWWW[:m=Tl?3aH +/fJ=Pb=b70<30jH3?79bLV`^7oGgmnO1/3?cdoB_d1W9CLgUlk>C/;2`]RbIL^D=?clo6Q/K>BNNnk1dm>Cg]iNJVYZ9?Fe:f5[JVZhM^dJ +dM7ACWgT3<2jMN]@:1@fW`GUC7AdM73`h440RXZ:9UdOUX9J[JJn_YikkkdGQD8QNAi[El;N?1e`MQ8C +4a52T9RHj>Q@7WC/I6QYRnO;U??744gK[NG]kDeMGAeAD52d];KLl^LJ8jDUGBd^;CLijNg/iLN84 +BZFBbg1SED::;n>LB:oGbaKK_7Wcl?Kf]ZYW;:?[k^jFk=]hK^ZUBiO/R]NXLoWbIJ/j +aSZ4WgkjbNXFUQmnn86b/S;Lg=ahk[WWI?em7cQ`P6gK]_7nnnmK?K]00G@3lVblL^7RkjEK0B`7RQ`M +RDClP150NZVCHoPG<8lKPl4ERGgn3JR1Zh0m1mTJMKX0NOJUC0l4/>>oj;SUNA:i2 +H88000Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000:000008000020000 +0000_`000;l002a3000`@P<000000000[0000000;00Q000020000680000<00000@00024000080000 +7P0001P000000000c`0003<4003R0@005@0000`0000400005@0000`000040000AP0001@000080000 +E4i@D0H1001A0000X0@00000003?00004100000000c`00000000000000[00002`0001@0000 +<0000800000P1000000008H0kP0c10004`4002P0002/0000;00000400@0000000000000000000000 +0000000000000000oooo05EEEEEEEEEEEEEGEGEEEEEEEEEEED000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo1G@?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo0007oooooooooooooooooooooooooooo01P@R8R8R8_ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo1>@`000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo3K200000007ooooooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooo +oo00000000007ooooooooooooooooooooo00000000003oooooooooooooooooooon000540000/8@00 +00000P2ATI40QXJ6079bLP2PX:00GUiN05IFEP2XZ:P0EeMG0:NWY`0cc/0CDe=055AD@2^[Zh0Ph>300/;2`071`L0m_Kf0=cLg02h^;P0 +[jn_018B4P0@4100e=CD04i>CP0?3`l0][Jf07MgM`0Z:RX0n_[j0:JVYP0A4A4061PH00T92@010@40 +IFEU0??cl`0J6QX0XZ:R05EEE@2l_;`03@d=01LG5`2QXJ40j^[Z09nOW`0>3Ph02PX:06QXJ03Jf]X0 +o_kn03`l?01WIfL0UIFE01DE5@3bl_80T92@0C02h^;P3Bd]80HF5Q09BDU022PX80 +mOGe0>WYj@3UiND0JFUY0=?Cd`0[:b/01@D500H61P2e]KD0m?Cd02PX:025QHD0:BTY08^;R`0L71`0 +5QHF00`<303moOd0RXZ:08R8R01cLg<051@D0g]k@1eMGD0 +f=SH02HV9P24Q8@0^[Zj0>?Sh`1;Bd/0De=C05YJFP2i^KT0b/[:07IfMP0m?Cd0GEeM0:b/[03QhN40 +O7al03Lg=`3alO40_[jn07inOP0N7Qh07AdM06i^KP2YZJT0]kNg04m?C`19BDT0bOWi`1:BTX0E5AD0;2`/03Kfm/0ZZZZ0?Shn03gmoL0 +M7Ad0>k^kP0f=SH0h>3P01/K6`3Xj>P0YJFU01TI6@3Ti>@0UiNG04I6AP1TI6@0>CTi03Ph>01SHf<0 +WYjN0:>SX`10@400Zj^[0=7Ad@32`/80d=3@09bLW01aLG40GemO02o_k`0410@0 +SXj>09JFUP0O7al0IVIV07QhN00];Bd0`lC0`<30`<30`0@410@41 +0@41Kc/0T`410@410@410@410@410@5=_E@30@410@410@0000010@410@410@410@41Ub80D@410@41 +0@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@6h02`10@410@41 +0@L020410@410@410@5a0:X10@410@410@410@410@4;00`10@410@410@d03P410@410@410@4W0;69 +0@410@410@410@410@5F_5ACA`410@410@4000000@410@410@410@410@6i0;X10@410@410@410@41 +0@410@410@410Cd0D`410@410@410F/0K0410@410@410@410@410@4N400]?@410@410@4700P10@41 +0@410@41L@2Z0@410@410@410@410@412`0<0@410@410@4=00h10@410@410@41@b`010410@410@41 +0@410@4D^e<0G9/10@410@41000000410@410@410@410@41H`2L/P410@410@410@410@410@410@41 +0@4m05<10@410@410@5[06`10@410@410@410@410@41Ge<0]KH10@410@411`080@410@410@410G40 +ZP410@410@410@410@410@/030410@410@413@0>0@410@410@410@6g02]Y0@410@410@410@6d/aD0 +0;P10@410@410@0000010@410@410@410@410Cja03@10@410@410@410@410@410@410@41?@1C0@41 +0@410@41J`1/0@410@410@410@410@410DP0002J0@410@410@L020410@410@410@5a0:X10@410@41 +0@410@410@4;00`10@410@410@d03P410@410@410@41/[<0H@410@410@410@6dFAD0002V0@410@41 +0@4000000@410@410@410@410@41RP2`0@410@410@410@410@410@410@410Cd0D`410@410@410F/0 +K0410@410@410@410@410DiD0000E4<10@410@4700P10@410@410@41L@2Z0@410@410@410@410@41 +2`0<0@410@410@4=00h10@410@410@410@5E05@m0@410@410@6IFAD0000U=0410@410@4100000041 +0@410@410@410@410Ah^6c010@410@410@410@410@410@410@4m05<10@410@410@5[06`10@410@41 +0@410@410@6^G@0003XI0@410@411`080@410@410@410G40ZP410@410@410@410@410@/030410@41 +0@413@0>0@410@410@410@410J80TP410@410@41[cX00000=YH10@410@410@0000010@410@410@41 +0@410@410`2X0@410@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@41 +Z@00000^LP410@410@L020410@410@410@5a0:X10@410@410@410@410@4;00`10@410@410@d03P41 +0@410@410@410@6[5@2/0@410@410@6]8P000:D10@410@410@4000000@410@410@410@410@410J40 +XP410@410@410@410@410@410@410Cd0D`410@410@410F/0K0410@410@410@410@41EU<0000002Dn +0@410@4700P10@410J0@413@0>0@410@410@410@410@6M>P2N +0@410@41@il0@@6PI0410@410@410@0000010@410@410@410@410@410G40FP410@410@410@410@41 +0@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@4500H10@410@410@L020410@414YFE +UIFEUIFEUIFEUP410@41SIFEUIFEUIFEUIFEU`410@d03P410@410@410@410@410D`0Fdd10@410IP0 +DXL10@410@410@410@4000000@410@410@410@410@410@6C05810@410@410@410@410@410@410Cd0 +D`410@410@410F/0K0410@410@410@410@410@411@060@410@410@4700P10@410@410@410@410@41 +0@410@410@410@410@410@410@410@4=00h10@410@410@410@410@4MO`050@410I@L06h10@410@41 +0@410@41000000410@410@410@410@410@41:F80S`410@410@410@410@410@410@4m05<10@410@41 +0@5[06`10@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410@410@410@41 +0@410@410@410@410@413@0>0@410@410@410@410@410CL0=I010@6A09810@410@410@410@410@00 +00010@410@410@410@410@410@6;00H10@410@410@410@410@410@41?@1C0@410@410@41J`1/0@41 +0@410@410@410@410@4500H10@410@410@L020410@410@410@410@410@410@410@410@410@410@41 +0@410@410@d03P410@410@410@410@410@5NS00l0@6=02f>0@410@410@410@410@4000000@410@41 +0@410@410@410@41QP0fQ`410@410@410@410@410@410Cd0D`410@410@410F/0K0410@410@410@41 +0@410@411@060@410@410@4700P10@410@410@410@410@410@410@410@410@410@410@410@410@4= +00h10@410@410@410@410@410HP05E69I@2:0@410@410@410@410@41000000410@410@410@410@41 +0@410@5G08<10@410@410@410@410@410@4m05<10@410@410@5[06`10@410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@410@410@410@410@410@410@410@410@410@413@0>0@410@41 +0@410@410@410@41Q025G`1KEP410@410@410@410@410@0000010@410@410@410@410@410@41K@1b +0@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@4500H10@410@41 +0@L020410@410@410@410@410@410@410@410@410@410@410@410@410@d03P410@410@410@410@41 +0@410AiD01/0PP410@410@410@410@410@400000J6QXJ6QXJ6QXJ6QXJ6QXJ6QXJ7lE8VQXJ6QXJ6QX +J6QXJ6QXJ6QXJ800E0410@410@410F/0K0410@410@410@410@410@411@060@410@410@4700P10@41 +0@410@410@410@410@410@410@410@410@410@410@410@4=00h10@410@410@410@410@410@41P@00 +0ch10@410@410@410@410@4100010000000000000000000000000000000000000000000000000000 +000002`10@410@410@5[06`10@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 +0@410@410@410@410@410@410@410@410@413@0>0@410@410@410@410@410@410Gd007h10@410@41 +0@410@410@410@000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@41J`1/0@410@410@410@410@410@4500H10@410@410@L020410@410@410@410@410@410@41 +0@410@410@410@410@410@410@d03P410@410@410@410@410@410Cik001LO0410@410@410@410@41 +0@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@400P410@410@410F/0 +K0410@410@410@410@410@411@060@410@410@4700P10@410@410@410@410@410@410@410@410@41 +0@410@410@410@4=00h10@410@410@410@410@410@4702]X07X10@410@410@410@410@4100010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@5[06`10@410@41 +0@410@410@410@D01P410@410@411`080@410@410@410@410@410@410@410@410@410@410@410@41 +0@413@0>0@410@410@410@410@410@53<@17N00]N@410@410@410@410@410@000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@41J`1/0@410@410@410@410@41 +0@4500H10@410@410@L020410@410@410@410@410@410@410@410@410@410@410@410@410@d03P41 +0@410@410@410@410@41M@0X:@5f07L10@410@410@410@410@4000410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@000P410@410@410F/0K0410@410@410@410@410@411@060@41 +0@410@4700P10@410@410@410@410@410@410@410@410@410@410@410@410@4=00h10@410@410@41 +0@410@417Q`0L`41ADH^M0410@410@410@410@4100010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@410@5[06`10@410@410@410@410@410@D01P410@410@411`08 +0@410@410@410@410@410@410@410@410@410@410@410@410@413@0>0@410@410@410@410@410G00 +L@410@5b00000000000000000 +<@410@41I000000000000000;0410@4=00h10@410@410@410@410BUU06H10@410@5W06QY1FX10@41 +0@410@4100010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +DU0@410@410@410@410@5J05]F0@410@41@e`0GC//0@410@410@410@00 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410D`L000001a= +0@410@410@410@410@4500H10@410@410@L020410@410@410@4900X10@410@410@410@410@4;00`1 +0@410@410@d03P410@410@410@410@5>9@0<0@410@41Ce0e0000@U410@410@410@4000410@410@41 +0@410@410@410@410@410@410@410@410@410@410@410@000P410@410@596`0000030@410@410@41 +0@410@411@060@410@410@4700P10@410@410@412@0:0@410@410@410@410@412`0<0@410@410@4= +00h10@410@410@410@41BP0F?P410@410D/]000001E<0@410@410@4100010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410CH0000]A0410@410@410@410@410@D0 +1P410@410@411`080@410@410@410@T02P410@410@410@410@410@/030410@410@413@0>0@410@41 +0@410@41ADI63P410@410@41Ab400000B0410@410@410@000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@4l5@00>cd10@410@410@410@410@4500H10@410@41 +0@L020410@410@410@4900X10@410@410@410@410@4;00`10@410@410@d03P410@410@410@41?Sl0 +@0410@410@410@51:`0004930@410@410@4000410@410@410@410@410@410@410@410@410@410@41 +0@410@410@410@400P410@410@41=3D003H10@410@410@410@410@411@060@410@410@4700P10@41 +0@410@412@0:0@410@410@410@410@412`0<0@410@410@4=00h10@410@410@410CL0:cP10@410@41 +0@410CTj000k80410@410@4100010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@410BT]02h_0@410@410@410@410@410@D01P410@410@411`080@410@410@410@T0 +2P410@410@410@410@410@/030410@410@413@0>0@410@410@410C0a00@10@410@410@410@410@410@410@415`0H0@410@410@410@410@410@416ADJ0@410@410@000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410@410@<40@410@410@410@410@41 +0@4500H10@410@410@L020410@410@410@4900X10@410@410@410@410@4;00`10@410@410@d03P41 +0@410@413`0@4@410@410@410@410@410@410@4B4`410@410@4000410@410@410@410@410@410@41 +0@410@410@410@410@410@410@410@40000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000001AP0001@000080000E4i@D0L1000R000030000?oooolR0000 +30000?oooom60000]0400:P10015CDH[:T0002@0000H0000/08/>P0000000000/08/>P00000004m3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P0000800H8I4000cA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X00000001?@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X00000001?@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?n9K3D@]/AU4140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 +0@000040000@000000000000000c1000c080000000000000<`@00<`2000T000090000000P3l00000 +00000000P3oRF`e4;K4IA080000<000040000000000000002P0001000000000000000580001`0@00 +0@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y0000000000000000P6E0 +00000000AT000000P9[2@00000000000000000000000000000009ah000010000300005`10060I=/8 +0000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMRL0000W000WL0GK2000000N0000 +Q=]?000000399`4146GK20008JH09`007P0001Io0@7c6P00h=]?0`g;WHlgTl0laX4C@0000000000100000A=003c6TgooooookP@0004C@@0R6CK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0000e0P00 +n04006l200250P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003402U@k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oRF`e4;K4IA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?n9K3D@>1a13140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000000c1000c080000000000000 +<`@00<`2000T000090000000P3l0000000000000P3oRF`e43PL@@`80000<00004000000000000000 +2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 +K01Y0680LP1Y0000000000000000P6E000000000AT000000P9[2@000000000000000000000000000 +00009ah000010000300005`10060I=/80000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMRL0000W000WL0GK2000000N0000Q=]?000000399`4146GK20008JH09`007P0001Io0@7m9000 +h=]?08000@08JH10?dTh_oooooo +^10000CR102h400000000`g;WHlgTl0oB@4hP0000000000100000CR003m9>;o +oooookP@0004hP@0R6CK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000e0P008@0006l2002^00000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD00003808HHk00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3oRF`e4 +3PL@@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?e7c`g;WHlgTl0 +2QX4:00000000000100000@X000:6RSooooookP@0004:0@0R6CK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0003<0P00n04000H300250P00 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD00003<0P3lk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3mAlc94;K4IA2Y0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@000010000000000U@000 +400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000 +0020?`00000000000020?e7c1a13140000`0000000008@0000P0000L0000200004/000100000 +<00000D0000P00000@000040000@000000000000000c1000c080000000000000<`@00<`2000T0000 +90000000P3l0000000000000P3mAlc943PL@@`80000<000040000000000000002P00010000000000 +00000580001`0@000@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y0000 +000000000000P6E000000000AT000000P9[2@00000000000000000000000000000009ah000010000 +300005`10060I=/80000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMRL0000W000W +L0GK2000000N0000Q=]?000000399`4146GK20008JH09`007P0001Io0@7c6P00h=]?0`g;WHlgTl0laX4D@0000000000100000AA003c6U7ooooookP@0004D@@0 +R6CK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002 +E00005@0003<0P008@0000H3002^00000P000000000000000000000000010000C000000000000000 +00000?ooooooooooD00003@0P3lk00009@0000`0000>0020:00000`0000100008P0000`0003ooooo +AP000;00002T0000ADe6:bY0000T000060000000P3l0000000000000P3mAlc943PL@@bY0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@0000100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q0000 +20000680000<00000@0004`0001T000000000"], "Graphics", + ImageSize->{216.66666666666666`, 144.86434108527135`}, + ImageMargins->{{88.33333333333334, 0.}, {0., + 18.333333333333314`}},ExpressionUUID->"124b2489-29ad-438a-b163-\ +19ba1478b9da"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, 3.8048378158670616`*^9, { + 3.804920331165388*^9, 3.8049203326408653`*^9}, {3.8050132508483152`*^9, + 3.8050132546749153`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}}, + ExpressionUUID -> "28115fd4-af18-4b58-84d9-424e488484fa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, + 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, + 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A14", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A34", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.804746010107048*^9, { + 3.8047734309389215`*^9, 3.804773431634205*^9}, {3.8047735782359843`*^9, + 3.804773578712495*^9}, {3.8050133037153454`*^9, 3.805013305517521*^9}, { + 3.8050145766619024`*^9, 3.8050145781360254`*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.80474606857274*^9, { + 3.8047734322315884`*^9, 3.804773432749055*^9}, {3.804773579240947*^9, + 3.8047735797104626`*^9}, {3.805013306559174*^9, 3.805013307880474*^9}, { + 3.8050145787849708`*^9, 3.8050145804595795`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, + 3.8047460279925995`*^9, 3.8047460694378476`*^9, {3.804773433649126*^9, + 3.8047734364842014`*^9}, {3.804773580248907*^9, 3.804773582622459*^9}, { + 3.805013309090266*^9, 3.8050133410404825`*^9}, {3.805014581747894*^9, + 3.805014588938695*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, + 3.8045875535512643`*^9, 3.8045877472244887`*^9, {3.8045958567664537`*^9, + 3.804595863157861*^9}, 3.80474603190956*^9, {3.804773505907591*^9, + 3.804773506350135*^9}, {3.8047735831199465`*^9, 3.804773583606445*^9}, { + 3.805014260545041*^9, 3.805014261996625*^9}, {3.8050145907757454`*^9, + 3.8050145925284595`*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, + 3.804587555119646*^9, 3.804587750394221*^9, {3.8045958590271235`*^9, + 3.804595860901189*^9}, {3.804599005689327*^9, 3.804599017566074*^9}, + 3.8047460701820803`*^9, {3.804773506901566*^9, 3.8047735073221316`*^9}, { + 3.804773584137896*^9, 3.8047735849091005`*^9}, {3.805014262852506*^9, + 3.805014264873622*^9}, {3.8050145933313894`*^9, 3.8050145950055046`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, 3.8043297589347453`*^9, + 3.8043311074246674`*^9, {3.804587557888789*^9, 3.804587559095545*^9}, { + 3.8045877537097993`*^9, 3.804587758719634*^9}, 3.804746032903533*^9, + 3.8047460710391965`*^9, {3.8047735079934397`*^9, 3.804773510539812*^9}, { + 3.804773585649337*^9, 3.8047735887741137`*^9}, {3.8050142662778196`*^9, + 3.8050142736306543`*^9}, {3.8050145964943037`*^9, 3.8050146072947173`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273494082735*^9, { + 3.8044099151808147`*^9, 3.804409925963391*^9}, 3.804587565114339*^9, + 3.804587726911441*^9, 3.8047460336227922`*^9, {3.804773437315344*^9, + 3.8047734378957453`*^9}, {3.804773626405298*^9, 3.804773626956728*^9}, { + 3.8050133506154284`*^9, 3.805013352279003*^9}, {3.8050147289513454`*^9, + 3.8050147304242887`*^9}}, + ExpressionUUID -> "161e22dd-9b38-4a95-ae56-199ec9fed0f7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p4"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p4"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8042734965921464`*^9, { + 3.8044099321503296`*^9, 3.804409936923113*^9}, 3.8045875671112766`*^9, + 3.8045877325286493`*^9, 3.8047460718034086`*^9, {3.8047734384671555`*^9, + 3.8047734389876194`*^9}, {3.8047736275031643`*^9, + 3.8047736283552856`*^9}, {3.8050133543570337`*^9, 3.805013356425194*^9}, { + 3.8050147313528247`*^9, 3.8050147326617966`*^9}}, + ExpressionUUID -> "c33b970e-db2b-4bed-954f-6e8826fa4108"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng14pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng14neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.8043297847255116`*^9, 3.804329810982648*^9}, { + 3.8045875692021213`*^9, 3.804587572510707*^9}, {3.80458773637668*^9, + 3.8045877400798616`*^9}, 3.8047460343100863`*^9, 3.8047460727893906`*^9, { + 3.804773439896682*^9, 3.804773443015465*^9}, {3.804773629239375*^9, + 3.8047736323561583`*^9}, {3.8050133570816803`*^9, + 3.8050133896587753`*^9}, {3.8050147340502462`*^9, 3.80501473905085*^9}}, + ExpressionUUID -> "d856a9b3-0177-4f18-9bf8-6350839d7252"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p4", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, { + 3.8044099459641075`*^9, 3.8044099587618484`*^9}, 3.8045875816093225`*^9, + 3.8045877054655666`*^9, 3.8047460350383315`*^9, {3.804773511195137*^9, + 3.804773511710605*^9}, {3.804773632852647*^9, 3.804773633328156*^9}, { + 3.805014274802712*^9, 3.8050142762223363`*^9}, {3.8050147401847153`*^9, + 3.805014741472805*^9}}, + ExpressionUUID -> "4c6d1c3a-a3c0-4ce6-ad4a-36c63ecc7310"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p4"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p4"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, { + 3.8044099637709303`*^9, 3.804409984817839*^9}, 3.804587583990865*^9, + 3.8045877074615045`*^9, 3.8047460740231185`*^9, {3.8047735122100906`*^9, + 3.8047735127225614`*^9}, {3.804773634024438*^9, 3.8047736345528927`*^9}, { + 3.805014276855688*^9, 3.8050142780440235`*^9}, {3.8050147421747036`*^9, + 3.8050147433160214`*^9}}, + ExpressionUUID -> "b93212b8-a683-4194-ae5e-77a536c9b51d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng34", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8043297620529838`*^9, + 3.80432978164869*^9}, {3.8045875876091347`*^9, 3.8045875931684*^9}, { + 3.8045877096172843`*^9, 3.8045877149767537`*^9}, 3.804746035796549*^9, + 3.8047460751030045`*^9, {3.8047735132939715`*^9, 3.8047735161260505`*^9}, { + 3.804773635280143*^9, 3.8047736383669586`*^9}, {3.8050142795638685`*^9, + 3.805014284415703*^9}, {3.805014744450555*^9, 3.8050147496358747`*^9}}, + ExpressionUUID -> "dd85bb0c-db7f-4dbb-b971-11acac55b4b3"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"e35a9ee5-9df4-422f-9b3c-\ +902054fcd47a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE34", "=", + RowBox[{"qm34", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm34", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, + ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ +09172eb1a580"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + FractionBox[ + RowBox[{"p4", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], + SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm34Neg", "==", + FractionBox[ + RowBox[{"p4", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], + SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", + "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179367226534`*^9, + 3.805017936907509*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ +2783204ff18e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, + ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, + 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ +b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}]}], "\n", " ", "}"}]}], ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}}, + ExpressionUUID -> "ee1a3df7-de1d-4a26-8e00-fee0944ef886"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,128,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542419907206*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,129,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199381742`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ +\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,130,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199641476`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ +\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,751,131,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199881225`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "General","openx", + "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\ +petkr14\\\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ +PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ +PneumaticValve42.hpp\\\\\\\"\\\"}]\\) is not open.\"",2,751,132, + 16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420664425*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve42\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"n\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,751, + 133,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420719368*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,751,134,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424207493377`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,751,135,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424208022833`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,751,136,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424208282566`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,751,137,16368523130847972493, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420886196*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,751,138,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420911171*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,751,139,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420936145*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,751,140, + 16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.805542420962118*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,751,141,16368523130847972493,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.8050243320573297`*^9, 3.8055424210130653`*^9}, + ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{809, 641}, +WindowMargins->{{Automatic, 235}, {50, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "4dd653ec-6443-473f-a991-649bf4ab8af3" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 428, 6, 70, "Section"], +Cell[1011, 30, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1369, 38, 203, 3, 30, "Text"], +Cell[1575, 43, 786, 15, 50, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2364, 60, 529, 12, 50, "Input"], +Cell[CellGroupData[{ +Cell[2918, 76, 1811, 37, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4732, 115, 2169, 32, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6904, 149, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[7291, 161, 98, 0, 41, "Subsection"], +Cell[7392, 163, 990, 15, 106, "Text"], +Cell[8385, 180, 24286, 302, 172, "Graphics"], +Cell[32674, 484, 2085, 46, 183, "Input"], +Cell[34762, 532, 646, 13, 69, "Input"], +Cell[35411, 547, 3026, 65, 278, "Input"], +Cell[38440, 614, 1647, 29, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[40124, 648, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[40272, 652, 230, 4, 30, "Text"], +Cell[40505, 658, 323, 7, 30, "Input"], +Cell[40831, 667, 376, 7, 30, "Text"], +Cell[41210, 676, 1911, 52, 170, "Input"], +Cell[43124, 730, 249, 4, 30, "Text"], +Cell[43376, 736, 191, 4, 30, "Input"], +Cell[43570, 742, 1246, 28, 76, "Input"], +Cell[44819, 772, 1240, 28, 76, "Input"], +Cell[46062, 802, 1954, 47, 94, "Input"], +Cell[48019, 851, 1293, 29, 76, "Input"], +Cell[49315, 882, 1338, 29, 76, "Input"], +Cell[50656, 913, 2082, 48, 94, "Input"], +Cell[52741, 963, 1294, 29, 76, "Input"], +Cell[54038, 994, 1304, 29, 76, "Input"], +Cell[55345, 1025, 2056, 48, 94, "Input"], +Cell[57404, 1075, 1296, 29, 76, "Input"], +Cell[58703, 1106, 1298, 29, 76, "Input"], +Cell[60004, 1137, 2081, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[62122, 1190, 159, 3, 49, "Subsection"], +Cell[62284, 1195, 2209, 61, 307, "Input"], +Cell[64496, 1258, 291, 4, 30, "Text"], +Cell[64790, 1264, 3691, 99, 202, "Input"], +Cell[68484, 1365, 197, 3, 30, "Text"], +Cell[68684, 1370, 5054, 90, 537, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[73775, 1465, 160, 3, 53, "Subsection"], +Cell[73938, 1470, 194, 3, 30, "Text"], +Cell[74135, 1475, 1772, 34, 126, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[75944, 1514, 174, 3, 49, "Subsection"], +Cell[76121, 1519, 1527, 24, 50, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[77685, 1548, 88, 0, 53, "Subsection"], +Cell[77776, 1550, 304, 6, 49, "Text"], +Cell[78083, 1558, 1698, 32, 202, "Input"], +Cell[CellGroupData[{ +Cell[79806, 1594, 122, 2, 30, "Input"], +Cell[79931, 1598, 540, 11, 39, "Message"], +Cell[80474, 1611, 542, 11, 39, "Message"], +Cell[81019, 1624, 542, 11, 39, "Message"], +Cell[81564, 1637, 427, 8, 21, "Message"], +Cell[81994, 1647, 539, 10, 39, "Message"], +Cell[82536, 1659, 5390, 79, 148, "Message"], +Cell[87929, 1740, 357, 7, 21, "Message"], +Cell[88289, 1749, 499, 10, 21, "Message"], +Cell[88791, 1761, 357, 7, 21, "Message"], +Cell[89151, 1770, 497, 10, 21, "Message"], +Cell[89651, 1782, 355, 7, 21, "Message"], +Cell[90009, 1791, 427, 8, 21, "Message"], +Cell[90439, 1801, 527, 10, 39, "Message"], +Cell[90969, 1813, 432, 8, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve52.hpp b/devPneumatic/PneumaticValve52.hpp new file mode 100644 index 0000000..04c148d --- /dev/null +++ b/devPneumatic/PneumaticValve52.hpp @@ -0,0 +1,1214 @@ +#ifndef PNEUMATICVALVE52_HPP_INCLUDED +#define PNEUMATICVALVE52_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve52.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:42:05 +//! @brief Pneumatic 52-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve52.nb*/ + +using namespace hopsan; + +class PneumaticValve52 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + Port *mpP5; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + double delayParts17[9]; + double delayParts18[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[18]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; + //Port P5 variable + double p5; + double qm5; + double T5; + double dE5; + double c5; + double Zc5; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm54Pos; + double qm54Neg; + double Ng32e; + double Ng12e; + double Ng54e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Port P5 pointer + double *mpP_p5; + double *mpP_qm5; + double *mpP_T5; + double *mpP_dE5; + double *mpP_c5; + double *mpP_Zc5; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm54Pos; + double *mpqm54Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg54e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + Delay mDelayedPart130; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve52(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(18,18); + systemEquations.create(18); + delayedPart.create(19,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + mpP5=addPowerPort("P5","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm54Pos=stateVark[6]; + qm54Neg=stateVark[7]; + dE1=stateVark[8]; + dE2=stateVark[9]; + dE3=stateVark[10]; + dE4=stateVark[11]; + dE5=stateVark[12]; + p1=stateVark[13]; + p2=stateVark[14]; + p3=stateVark[15]; + p4=stateVark[16]; + p5=stateVark[17]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ +qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); + qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ +onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ ++ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + delayedPart[17][1] = delayParts17[1]; + delayedPart[18][1] = delayParts18[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //Port P5 + (*mpP_p5)=p5; + (*mpP_qm5)=qm5; + (*mpP_dE5)=dE5; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm54Pos)=qm54Pos; + (*mpqm54Neg)=qm54Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg54e)=Ng54e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE52_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve52.nb b/devPneumatic/PneumaticValve52.nb new file mode 100644 index 0000000..ded7e96 --- /dev/null +++ b/devPneumatic/PneumaticValve52.nb @@ -0,0 +1,1682 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 79140, 1674] +NotebookOptionsPosition[ 75638, 1571] +NotebookOutlinePosition[ 76292, 1593] +CellTagsIndexPosition[ 76249, 1590] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve52", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, + 3.8055437085440426`*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9, 3.805455735116706*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9, 3.8054557323076034`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { + 3.8055437051305633`*^9, 3.8055437068328075`*^9}, 3.8056272757059183`*^9, { + 3.80562739835402*^9, 3.8056274161356792`*^9}, {3.8056274463754864`*^9, + 3.8056276213759727`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "42", ",", + "1.9851632`8.050371202290238"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { + 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, + 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, + 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, + 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, + 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, + 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, + 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, + 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, + 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, + 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { + 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, + 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, + 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, + 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, + 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, + 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, + 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, + 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, + 3.8055296122630434`*^9, 3.805529852446294*^9, 3.805534450436387*^9, + 3.805534548776949*^9, 3.80553460312389*^9, {3.8055348478194857`*^9, + 3.8055348649518127`*^9}, 3.8055349506204453`*^9, 3.80553501482322*^9, { + 3.8055352179656773`*^9, 3.8055352250743446`*^9}, 3.805535265889268*^9, + 3.805541347913973*^9, 3.8055415031168814`*^9, 3.8055417845006313`*^9, + 3.8055419973660593`*^9, 3.8055420848678017`*^9, 3.8055424927181015`*^9, + 3.805542541787487*^9, 3.8055425973701525`*^9, 3.8055427444724154`*^9, + 3.805613614885068*^9, 3.8056157360206394`*^9, 3.805615902161265*^9, + 3.8056159593682556`*^9, 3.805616151614952*^9, 3.805616376980487*^9, + 3.80562287690287*^9, 3.805623722045102*^9, 3.8056272757059183`*^9}, + ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, + 3.805627275706918*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. The \ +opening is proportional to the input signal and limited between 0 and 1. At 1 \ +input signal it opens between pressure port (1) and load port (4) and between \ +the load port (2) and return (3). When the input signal it is one. At zero \ +input signal it opens the load port (2) to the pressure port (1) and between \ +the load port (4) and return port (5). The opening is proportional to the \ +input signal. There is no valve dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9, {3.8050237813496456`*^9, 3.805023820894039*^9}, { + 3.8056268915461845`*^9, 3.805627072164873*^9}, {3.805627214728817*^9, + 3.8056272299061623`*^9}}, + ExpressionUUID -> "8691b14c-c93d-4322-aee2-62f88b1104a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002ND0@0006`0000000008@0002H3001H0P00 +oOoooogooolH3P006P/00215CDH00040U2L008@0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000041EA000:4@Z@000 +900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001E0`00X080000000000000E@<00:02000T000090000;02;3X0000000000;02;3X00000 +000c@`80000R000030000?oooom60000G0h0050>0015CDH[:d0000`0000000007T0600`000000000 +8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 +8D0700`00000000024000c`0000`00000Q30f`@00000000000000000001P8II90000060QUTV0;?3 +KZGm``Q000>X0000W000008@`=/@0000000002Xk6T>8P0I3ECdJ@hR01T>S`I3 +5clJ@lER4D2o0=3bg4A@eOj0d?;LA53UOP3@a5[4D>En0=3 +aF8A@iGh0d>>S`I3UOP3@d:71T=GnP=3R806@h;l0d>8P0I300<30`430`<10`<30@<3PaA0080@0000 +10000?ooool8@042>00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 +0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000OGL7?`<000000810 +0000008@`=/000000000o`Q00`X0000W000008@`=/@000000000:Kd0d>Pm@]3dOH3@j3e2d>Cn0=3 +F_`;@i?h0d>V10a3ToP3@lIR4D>Cn0=34V/A@m7f0d?DC?52X?D;@n]@lD:Pm@]300<30`430`<10`<3 +0@<3PaA0180@000010000?ooool8@0D2>00002`000024<3K000009P000000000G7L7?`<000000810 +0000008@`=/000000000oaE0100@0000100000D00008@0H2>00002`000024<3K000009P000000000 +OGL7?`<0000008100000008@`=/000000000o`Q01`40a3 +>@Ki@/=L4D<00@<35D070100000400001P0000Q0208h0000;000008@`=/00000V00000000000000o +0`000000P40000000Q30f`000000003o24090b`0000P00000Q30f`8000000000UX@G@bSW1d>aNAA3 +Bd/A@`010H4E@0T0400000@000080000240:0c@0000X00000Q30f`<000000000Ga4H@a^L1T>j_QM3 +lXX9@nlk5T=E80U30061PAA02X0@0000100000000?l8@0/2>00002`000024<3K000009P000000000 +981K?P<0000008100000008@`=/000000000oaE02P0@0000100000/0000Z@000900001P0001BC7Q0 +000000000025gVo0I7YB`bF^_T<8@0`2>00002`000024<3K000009P000000000L2<9?`<000000810 +0000008@`=/000000000o`Q03@=a@00000000000 +b>=a@7Qlhl=^YOg3240@0SP0000/00000Q30f`00002H0000000007eg1cl300000020@00000024<3K +000000000?l8@143;000020000024<3K0P000000001f:AI3F`d>@dMD6D00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 +0000o`Q04`R@VUCbT:o/Ie2l<34@Q3hX481JLA2 +0061PAA05X0@0000100000000?l8@1L2>00002`000024<3K000009P000000000K7N7?P<000000810 +0000008@`=/000000000oaE05P0@0000100001L0000Z@000900001P0000gSEC0=:/0?oE>ekkV2Wk0 +8J2g@aaL]D00002`000024<3K000009P000000000L2<9?`<000000810 +0000008@`=/000000000o`Q06@=a@00000000000 +b>=a@7Qlhl=^YOg3:T0002@0000H0000b>=a@00000000000b>=a@1i6Ql00002`000024<3K +000009P000000000OGL7?`<0000008100000008@`=/000000000o`Q07`/@QRJ4T<00@615D0O0100000400007P0002Y0000T000060000?3KZGm`bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@0000100000000008@204600000`000024<3K000000<0010d@20030000000000Q0000 +20000680000<00000@0004`0001T0000oOoooogooon30000;P000?goooomooooQ`000380000Y0:X0 +000000000000080o000000000000080o0000000000000000000000000000000000000000000R0000 +30000?oooom60000700001000015CDH[0T0000`0000000003P0001@000000000400001@00008@088 +900001P000024<3K0@0000<00000000000000000000K@040@00003@0000200000P0004]^=Kn0K3Fo +JO`1@h?i;d830000Bfhe_h1/=KojAP53P6`e_d]^=KoA8be28@0000P0001R000030000040000Q0000 +200001h0000H000000000;<0000W0`00`04001`0000800008@0000P0000Q0000200007<0000<0000 +000001`0000800009@0000`0000000209@0000`0000700209@0000`0000>00206@0000`0003oool0 +600000`0000000004P0000`0000200004`0000`000010000500000`0000=00005@0000`000010000 +5P0000`0000000003@00010000000000000003X0000<00002P0001/0000@000000000000000S0000 +80000:gead00000000000:5had3K]Xe0iVXg@b@0000T0000[OG7@00000000000XGS7@=^fSD3VJSM3 +100007<0000<0000000000d0000@000000000;<0001B0000L0400040000@00001`00000000000000 +_080000000070P8RD`1i07<0M01U06d0000000000000000000000000000000000000000000000000 +000000000000000000000000003i0`00Z=U?0BemS>0Ne1P00?X9 +000007T407go_mm30000000000000000000000000000000000000000nPU110000000000000000000 +N@@000000000000000000>0Ne1P000000000000000000000>;Oj2@40000000000000000000000000 +2<[j2@00003@;=DH0000000000000041j43D600000000000^PP000000@400000000004CQC`10X;1g +TJj;nokoool4fTl0ZffaM`00003BKK5gj1kD6000nPUTMP08000002D0000<00000@0004H0000X0000 +700004M4BD<20000oooooooooon00000:P00000000160000500000P00017A4U30`000280000<0000 +ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000ooooob80000<0000 +ooooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o0000P000080Z@000 +900001P0003VZ/I000000000000OZ/=0KP0000000000/08/>P00000003=38D0700`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000003=3:T0002@0000H00000020?`00000000000020?`0000000000 +:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 +10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o +000000000000080oO0P_A4UT44<4@00030000000000Q0000200001`000080000B`000400000`0000 +1@000200000100000@00010000000000000005D3002P0P0000000000001E0`00X08002@0000T0000 +0020?`00000000000020?g`8;dA9I1130P0000`0000@000000000000000:00004000000000000000 +DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 +000000000030ib]10000000000000000000000000000000000000<3W:d400040000004d000000000 +:>5?014000040000V>M?05SRC`10X;1gDJf;nokoooo0hDl0ck2/Me`2001X0P00f0?j2@00082LECAg +GcDdMF508OYLhDl00H0006le=7D000000000000000000000Z1GgSXcQC`3X2cAeHD0QnP008@1Q@27j +HD0001cRC`2fOS9eG6000>SQC`3PDoX9c>=?00T00002000000000=9]/GMLH1P0G604600010000?oo +G60Hoooooool2P0011P406@000000000:87j2E0:[`19`AA4UT44<4@00030000000000Q0000200001`000080000B`000400000`00001@00020000010000 +0@00010000000000000005D3002P0P0000000000001E0`00X08002@0000T00000020?`0000000000 +0020?cRL4DA9I1130P0000`0000@000000000000000:00004000000000000000DP00070100010000 +Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000000000000030ib]1 +0000000000000000000000000000000000000<3W:d400040000004d000000000E0000140001Q@27j +000005SRC`10X;1gDJf;nokoooo0hDl0ck2/Me`2001X0P00f0?j2@00002LECAgGcDdMF508OYLhDl0 +0H0006le=7D000000000000000000000Z1GgSXcQC`3X2cAeHD0QnP008@1Q@27jHD0001cRC`2fOS9e +h7X00>SQC`3PDoX9c>=?00T00002000000000=9]/GOPNX<0h7X4P`0010000?ooh7Z3oooooool2P00 +18<406@000000000:87j2@P:[`1SQC`3PDoX9 +c>=?00T00002000000000=9]/GNENZP0UGX4Z00010000?ooUGZXoooooool2P001:P406@000000000 +:87j2L09[`1SQC`3PDoX9c>=?00T000020000 +00000=9]/GMLH1`0G604700010000?ooG60Loooooool2P0011`406@000000000:87j2E0:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GOPNXL0 +h7X4Q`0010000?ooh7Z7oooooool2P0018L406@000000000:87j2@P:[`1000050000000000@00005000 +\>"], "Graphics", + ImageSize->{170., 134.01459854014598`}, + ImageMargins->{{66, 0}, {0, 0}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm54Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm54Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng54e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, + 3.8055253268748503`*^9}, {3.8055435243970222`*^9, 3.8055435260702963`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"5", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}, {3.805542851655855*^9, + 3.805542865871192*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False, + ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, + 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{"1", "-", + RowBox[{"2", " ", "xin"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.805613479048188*^9, 3.8056134837763076`*^9}, { + 3.8056135202157197`*^9, 3.805613523917901*^9}}], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf14", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf54", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { + 3.805455158947027*^9, 3.805455179490837*^9}, 3.8055435268235207`*^9}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf54", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, + 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { + 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, + 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { + 3.8055275203538437`*^9, 3.8055275229851294`*^9}, 3.805543527498823*^9}], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { + 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, + 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, + 3.805529803320966*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { + 3.805529804336918*^9, 3.805529805264961*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, + 3.80552980857155*^9}, 3.8055349955610886`*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, + 3.8055269059685616`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { + 3.8055269247042356`*^9, 3.805526925551361*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U + + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng54Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, + 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}, { + 3.8055435282460527`*^9, 3.80554352928498*^9}, 3.8056156941558247`*^9}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng54Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, + 3.805526943719621*^9}, {3.8055435295157423`*^9, 3.8055435305626636`*^9}, + 3.805615696044875*^9, {3.80561592361913*^9, 3.8056159274991283`*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng54", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p5", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng54Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p5", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng54Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, + 3.805529825723857*^9}, {3.8055435312979045`*^9, 3.8055435340910234`*^9}, { + 3.805615699253565*^9, 3.8056157030126886`*^9}, {3.8056158864215*^9, + 3.805615891278494*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False, + ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, 3.804857115838684*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A14", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A54", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, + 3.805543535062022*^9}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, 3.804746198521885*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, + ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}, {3.805541341182918*^9, 3.805541344157849*^9}, { + 3.805542590819909*^9, 3.805542591335378*^9}, {3.805542630843624*^9, + 3.8055426677365685`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}}, + ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE54", "=", + RowBox[{"qm54", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm54", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm54", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm54", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9, { + 3.8055435357073555`*^9, 3.8055435385664062`*^9}, {3.8056161243081217`*^9, + 3.805616125929469*^9}}, + ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ +09172eb1a580"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + RowBox[{"Cf14", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + RowBox[{"Cf14", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm54Pos", "==", + RowBox[{"Cf54", " ", "p5", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T5"]], "Ng54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm54Neg", "\[Equal]", + RowBox[{"Cf54", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE5", "\[Equal]", + RowBox[{"-", "dE54"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, + 3.805455634417577*^9}, 3.8054560708467517`*^9, {3.8055435392706795`*^9, + 3.8055435675095215`*^9}, {3.805543600949027*^9, 3.8055436403963375`*^9}, + 3.8056161412056923`*^9, 3.8056163240720615`*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179915385733`*^9, 3.8050179925094385`*^9}}, + ExpressionUUID -> "c9b83533-6c3b-4ba2-8e82-200441668409"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ +2783204ff18e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p5", " ", "==", + RowBox[{"(", + RowBox[{"c5", " ", "+", " ", + RowBox[{"Zc5", " ", "dE5"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}, { + 3.8055429199643965`*^9, 3.805542931543451*^9}, {3.8055436774251413`*^9, + 3.805543684657682*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, 3.6267881959573336`*^9}}, + ExpressionUUID -> "7aee13e0-4e61-4e17-a44c-47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm54Pos", ",", "qm54Neg", ",", "dE1", ",", "dE2", + ",", "dE3", ",", "dE4", ",", "dE5", ",", "p1", ",", "p2", ",", "p3", ",", + "p4", ",", "p5"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}, { + 3.805542938271511*^9, 3.805542942279377*^9}, {3.805543543906898*^9, + 3.805543544390399*^9}, {3.8055436458097534`*^9, 3.8055436733203783`*^9}}, + ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, 3.8047464099747696`*^9}}, + ExpressionUUID -> "42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{"-", "qm32"}]}], " ", ",", "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", "+", "qm54"}]}], " ", ",", "\[IndentingNewLine]", + RowBox[{"qm5", " ", "==", " ", + RowBox[{"-", "qm54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng54e", "==", "Ng54"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", + RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, + 3.805525497428443*^9, 3.8055260034368134`*^9, {3.8055429500503626`*^9, + 3.80554300919835*^9}, {3.8055432275081615`*^9, 3.8055432693160367`*^9}, { + 3.8055433007486143`*^9, 3.8055433082119155`*^9}, 3.805543350397403*^9, { + 3.8055434849805794`*^9, 3.8055434916496983`*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1159, 630}, +WindowMargins->{{Automatic, 329}, {Automatic, 138}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 404, 6, 70, "Section"], +Cell[987, 30, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1345, 38, 203, 3, 30, "Text"], +Cell[1551, 43, 529, 12, 30, "Input"], +Cell[2083, 57, 788, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2896, 76, 1964, 40, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4863, 118, 4082, 58, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[8948, 178, 376, 8, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[9361, 191, 98, 0, 41, "Subsection"], +Cell[9462, 193, 1151, 17, 68, "Text"], +Cell[10616, 212, 13853, 173, 143, "Graphics"], +Cell[24472, 387, 2486, 53, 215, "Input"], +Cell[26961, 442, 646, 13, 69, "Input"], +Cell[27610, 457, 3298, 70, 297, "Input"], +Cell[30911, 529, 1846, 33, 145, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[32794, 567, 149, 3, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[32946, 572, 230, 4, 30, "Text"], +Cell[33179, 578, 240, 6, 30, "Input"], +Cell[33422, 586, 374, 6, 30, "Text"], +Cell[33799, 594, 1977, 53, 170, "Input"], +Cell[35779, 649, 738, 14, 88, "Input"], +Cell[36520, 665, 249, 4, 30, "Text"], +Cell[36772, 671, 191, 4, 30, "Input"], +Cell[36966, 677, 1192, 25, 74, "Input"], +Cell[38161, 704, 1145, 24, 74, "Input"], +Cell[39309, 730, 1449, 42, 94, "Input"], +Cell[40761, 774, 1246, 26, 74, "Input"], +Cell[42010, 802, 1188, 25, 74, "Input"], +Cell[43201, 829, 2213, 50, 94, "Input"], +Cell[45417, 881, 1246, 26, 74, "Input"], +Cell[46666, 909, 1195, 25, 74, "Input"], +Cell[47864, 936, 1454, 43, 94, "Input"], +Cell[49321, 981, 1368, 27, 74, "Input"], +Cell[50692, 1010, 1363, 27, 74, "Input"], +Cell[52058, 1039, 2338, 52, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[54433, 1096, 149, 3, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[54585, 1101, 229, 3, 30, "Text"], +Cell[54817, 1106, 323, 7, 30, "Input"], +Cell[55143, 1115, 374, 6, 30, "Text"], +Cell[55520, 1123, 1937, 53, 170, "Input"], +Cell[57460, 1178, 248, 3, 30, "Text"], +Cell[57711, 1183, 191, 4, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[57939, 1192, 158, 2, 49, "Subsection"], +Cell[58100, 1196, 822, 16, 69, "Input"], +Cell[58925, 1214, 293, 4, 30, "Text"], +Cell[59221, 1220, 3797, 101, 202, "Input"], +Cell[63021, 1323, 197, 3, 30, "Text"], +Cell[63221, 1328, 5330, 94, 573, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[68588, 1427, 161, 2, 49, "Subsection"], +Cell[68752, 1431, 194, 3, 30, "Text"], +Cell[68949, 1436, 2041, 40, 145, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[71027, 1481, 173, 2, 49, "Subsection"], +Cell[71203, 1485, 1701, 26, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[72941, 1516, 88, 0, 49, "Subsection"], +Cell[73032, 1518, 303, 5, 30, "Text"], +Cell[73338, 1525, 2147, 38, 240, "Input"], +Cell[75488, 1565, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve52.pdf b/devPneumatic/PneumaticValve52.pdf new file mode 100644 index 0000000000000000000000000000000000000000..242889772b3b2a34f394cdf524e7fcdd4467723d GIT binary patch literal 94430 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 + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve52.xml b/devPneumatic/PneumaticValve52.xml new file mode 100644 index 0000000..0183875 --- /dev/null +++ b/devPneumatic/PneumaticValve52.xml @@ -0,0 +1,23 @@ + + + + + + + + + Pnenumatic Valve52. + PneumaticValve52.nb + PneumaticValve52.pdf + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve53.hpp b/devPneumatic/PneumaticValve53.hpp new file mode 100644 index 0000000..66d47b7 --- /dev/null +++ b/devPneumatic/PneumaticValve53.hpp @@ -0,0 +1,1214 @@ +#ifndef PNEUMATICVALVE53_HPP_INCLUDED +#define PNEUMATICVALVE53_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve53.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:27:47 +//! @brief Pneumatic 53-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve53.nb*/ + +using namespace hopsan; + +class PneumaticValve53 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + Port *mpP5; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + double delayParts17[9]; + double delayParts18[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[18]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; + //Port P5 variable + double p5; + double qm5; + double T5; + double dE5; + double c5; + double Zc5; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm54Pos; + double qm54Neg; + double Ng32e; + double Ng12e; + double Ng54e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Port P5 pointer + double *mpP_p5; + double *mpP_qm5; + double *mpP_T5; + double *mpP_dE5; + double *mpP_c5; + double *mpP_Zc5; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm54Pos; + double *mpqm54Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg54e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + Delay mDelayedPart130; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve53(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(18,18); + systemEquations.create(18); + delayedPart.create(19,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + mpP5=addPowerPort("P5","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm54Pos=stateVark[6]; + qm54Neg=stateVark[7]; + dE1=stateVark[8]; + dE2=stateVark[9]; + dE3=stateVark[10]; + dE4=stateVark[11]; + dE5=stateVark[12]; + p1=stateVark[13]; + p2=stateVark[14]; + p3=stateVark[15]; + p4=stateVark[16]; + p5=stateVark[17]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ +qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); + qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ +onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ ++ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + delayedPart[17][1] = delayParts17[1]; + delayedPart[18][1] = delayParts18[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //Port P5 + (*mpP_p5)=p5; + (*mpP_qm5)=qm5; + (*mpP_dE5)=dE5; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm54Pos)=qm54Pos; + (*mpqm54Neg)=qm54Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg54e)=Ng54e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE53_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve53.nb b/devPneumatic/PneumaticValve53.nb new file mode 100644 index 0000000..55bc5d3 --- /dev/null +++ b/devPneumatic/PneumaticValve53.nb @@ -0,0 +1,1705 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 81394, 1697] +NotebookOptionsPosition[ 77892, 1594] +NotebookOutlinePosition[ 78545, 1616] +CellTagsIndexPosition[ 78502, 1613] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve53", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { + 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, + 3.8055437085440426`*^9, 3.805622851678891*^9}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell["This path is pointing to where the file should be generated", "Text", + CellChangeTimes->{{3.804746787277581*^9, + 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ +f1e54cda9d7b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.804935035606517*^9, 3.805455735116706*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804935034426733*^9, 3.8054557323076034`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "author", "=", + "\"\, Victor Juliano De Negri** \ +\>\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ +de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, + 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { + 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { + 3.8055437051305633`*^9, 3.8055437068328075`*^9}, {3.805622853742767*^9, + 3.805622854851616*^9}, 3.8056273154489527`*^9, 3.8056276610726337`*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "5", ",", "15", ",", "27", ",", + "45.4177169`9.409800165334937"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { + 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, + 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, + 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, + 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, + 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, + 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, + 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, + 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, + 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, + 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { + 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, + 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, + 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, + 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, + 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, + 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, + 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, + 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, + 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, + 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { + 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, + 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, + 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, + 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, + 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, + 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, + 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, + 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, + 3.8055296122630434`*^9, 3.805529852446294*^9, 3.805534450436387*^9, + 3.805534548776949*^9, 3.80553460312389*^9, {3.8055348478194857`*^9, + 3.8055348649518127`*^9}, 3.8055349506204453`*^9, 3.80553501482322*^9, { + 3.8055352179656773`*^9, 3.8055352250743446`*^9}, 3.805535265889268*^9, + 3.805541347913973*^9, 3.8055415031168814`*^9, 3.8055417845006313`*^9, + 3.8055419973660593`*^9, 3.8055420848678017`*^9, 3.8055424927181015`*^9, + 3.805542541787487*^9, 3.8055425973701525`*^9, 3.8055427444724154`*^9, + 3.805613614885068*^9, 3.8056157360206394`*^9, 3.805615902161265*^9, + 3.8056159593682556`*^9, 3.805616151614952*^9, 3.805616376980487*^9, + 3.8056201257117395`*^9, 3.8056201855859776`*^9, 3.805620287790553*^9, + 3.8056203899431815`*^9, 3.805622766331932*^9, 3.80562286546367*^9, + 3.8056273154489527`*^9}, + ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, + 3.8056273154489527`*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. The \ +opening is proportional to the input signal and limited between -1 and 1. At \ +1 input signal it opens between pressure port (1) and load port (4) and \ +between the load port (2) and return (3). When the input signal it is one. \ +At -1 input signal it opens the load port (2) to the pressure port (1) and \ +between the load port (4) and return port (5). The opening is proportional \ +to the input signal. There is no valve dynamics\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, + 3.805023671522853*^9, {3.8050237813496456`*^9, 3.805023820894039*^9}, { + 3.8056268915461845`*^9, 3.805627072164873*^9}}, + ExpressionUUID -> "8691b14c-c93d-4322-aee2-62f88b1104a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002gh0@0006`0000000008@000384001H0P00 +oOoooogoooo44@006P/00215CDH00040n2d008@0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A000:4@Z@000 +900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?nZD<4A9I113 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000000c1000X080000000000000<`@00:02000T000090000000P3l0000000000000P3oZU314 +BF@@@`80000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 +00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 +0000000000000000000000000030ib]10001I000001=000000000;iE/@0A0000P;N70>UE/GMHhTl0 +@:2`Me6]Ro_noooo`>5?05?0060001_=CAe +000000000000000000000:PEmhja?1;<000@0003oona?/oooooooo0X000Bc101T0000 +000002R1nPW`3:l0C>9?0>`g9gKPDoX9k4l4/`T000000000100006Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@000320P008@000?`2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380F4hk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 +8D0700`000000000:T0002@0000H00000020?`00000000000020?jLX4dA9I113140000`000000000 +8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 +X080000000000000<`@00:02000T000090000000P3l0000000000000P3nW:1=4BF@@@`80000<0000 +40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 +000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 +000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0@:2`Me6]Ro_noooo +`>5?05?0060001_=CAe0000000000000000 +00000:PEmhja?1;D000@0003oona?]Oooooooo0X000Be101T0000000002R1nPW`3:l0 +C>9?0>`g9gKPDoX9k4l4]@T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 +4P0000`000010000600000`000000002E00005@0001=0P008@0008L2002^00000P00000000000000 +0000000000010000C00000000000000000000?ooooooooooD00003@0KF4k00009@0000`0000>0020 +:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00000003=3140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000000c1000X080000000000000 +<`@00:02000T000090000;02;3X0000000000;02;3X00000000c@`80000R000030000?oooom60000 +`1@00;@D0015CDH[:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00000003=38D0700`00000000024000c`0000`0000 +0Q30f`@00000000000000000003Po3ladV0;X0000W000008@`=/@0000 +00000;2;dT;ALPM3?9;B@]5b1d>:Um92RgT7@hZGdT;GP@M3RYOB@PiE4T>:Um92FUdB@cbBdT8DI193 +/8_B@QAT4T?oJXm256@B@g=TSd8DI1939En?@UYM4T00002`000024<3K +000009P000000000SWL7?`<0000008100000008@`=/000000000oaE0000@0000100000400008@082 +>00002`000024<3K000009P0000000007645?`<0000008100000008@`=/000000000o`Q00`R@VUCbT:o/Ie2l<34@Q3hX481JLA20061PAA01X0@0000 +100000000?l8@0L2>00002`000024<3K000009P000000000K7N7?P<0000008100000008@`=/00000 +0000oaE01P0@0000100000L0000Z@000900001P0000gSEC0=:/0?oE>ekkV2Wk0B^Ff@gd`]D00002`000024<3K000009P000000000Io]4;8_0m3cgB;M2bdLB@`010H4E@0/0400000@0000:0000 +:T0002@0000H0000b>=a@00000000000b>=a@7POHl00002`000024<3K000009P000000000 +el;d?P<0000008100000008@`=/000000000o`Q03`3UJY2 +bdLB@`010H4E@140400000@0000@0000:T0002@0000H0000[W1O`00000000000K@Ea`1[m[d?4lKm3 +240B0SP0000/00000Q30f`00002H00000000070S2Cl300000020@00000024<3K000000000?l8@1<3 +;000020000024<3K0P000000002]59i2H>fg@[0DWT;IolY20041PAE04`0@0000100001800008@1@3 +=00002P000024<3K0`000000002]59i23lbe@X1NW4:8G[]2?k6O@XQN^d800H61540DP10000040000 +0000o`Q05@8h0000;000008@`=/00000V000000000218hTn0`000000P40000000Q30f`000000003o +5D0D0100000400005@0002Y0000T000060000X0000 +W000008@`=/@0000000004YGSd;Yi`a3XE^?@^WW3400002`000024<3K000009P000000000G7L7?`<0000008100000008@`=/000000000oaE05P0@0000 +100001L00008@1P2>00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 +0000o`Q06@L8/E2Bf8B@`010`00002`000024<3K000009P000000000981K?P<0000008100000008@`=/00000 +0000oaE0700@0000100001d0000Z@000900001P0001BC7Q0000000000025gVo0CW8X`egL_T<8@1h2 +>00002`000024<3K000009P000000000L2<9?`<0000008100000008@`=/000000000o`Q07`=a@00000000000b>=a@7POHl=a@00000000000b>=a@3j_H/00002`000024<3K000009P000000000XKk]?P<000000810 +0000008@`=/000000000o`Q09@`@/aI4T<00@<3 +5D0U010000040000900002Y0000T000060000B`aXool<8@2X2>00002`000024<3K000009P000000000 +Io]4;8_0m3 +cgB;M2 +bdLB@`010`=a@00000000000b>=a@7POHl=a@000001/f8fhb>=a`5m2Hl?iIPY4240^0SP0000/00000Q30f`00002H0000 +00000=O2m3h300000020@00000024<3K000000000?l8@2l3;000020000024<3K0P000000001ZgZM2 +b;`?@n49[D:B_Pm300430aE0;`0@0000100002h00008@302>00002`000024<3K000009P000000000 +TB[Z?P<0000008100000008@`=/000000000o`Q0<@EZT;;Aa9300410AE0=@0@0000100003@0000Z@000900001P00038hg50000000000038hg50 +N1mS`cIgol3nBm2 +0`0004]^=Kn0K3Fob4D/@h1/=Km;KSFodB<]@R4000080000HP0000`0000100008@0000P0000N0000 +60000000002c0000<`@00<01000L000020000240000800008@0000P0001c000030000000000L0000 +200002D0000<00000000P2D0000<00001`00P2D0000<00003P00P1T0000<0000oooo01P0000<0000 +00000180000<00000P0001<0000<00000@0001@0000<00003@0001D0000<00000@0001H0000<0000 +000000d0000@000000000000000j0000300000X0000K000040000000000000008`000200003/eLM0 +00000000002QNIZ=dcEad00000000000:5had1IX8e0iVXg@`@0001c0000 +30000000000=000040000000002c0000DP00070100010000400000L00000000000000;`200000000 +1`828U<0N@1c07@0I@1]000000000000000000000000000000000000000000000000000000000000 +00000000000002Mf`50WM]1G9gK5i:agZ=U?00?V[7MX8@00VNZ/McT]OHbP9=@H003j2@00000W7@0j +okoO@`000000000000000000000000000000000000000?X9@@@000000000000000000?l700000000 +00000000002P9=@H0000000000000000000003RgnPT10000000000000000000000000?2SdQP00000 +`03j2@000000000000010JQ6e1P00000000006PQ00000041000000000014hDl0@:2`Mi6^Ro_noooo +1=Y?0:]]/GL00000dVfaMjPTe1P00?X9I7H02000000U00003000004000160000:00001`00017A4U3 +0P000?ooooooooooZ`0002X000000000AP0001@000080000AdA9@`<0000R000030000?oooolR0000 +30000?oooolU0000300000d0080X000030000040000R000030000?oooolR000030000?oooom60000 +o0400?010015CDH[;40002@0000H00000020?`00000000000020?`0008000020:T0002@0000H0000 +S=g6@000000000007j[3@57`S41BECM3:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P0000800H8I4000XA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X00000000c@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X00000000c@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?hjQ8D@gUPi4140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 +0@000040000@000000000000000c1000X080000000000000<`@00:02000T000090000000P3l00000 +00000000P3n>XB54=iH>A080000<000040000000000000002P0001000000000000000580001`0@00 +0@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000 +`>L[@@00000000000000000000000000000000000030ib]100010000001=0000000002SQC`0A0000 +100009SWC`1HhTl0@:2`Me6]Ro_noooo`>5?0?P>e0[h3]@:n5?0060001_=CAe000000000000000000000:PEmhjD000@0003ookaUiOoooooo +o0X000CU101T0000000002R1nPTP2Zl0C>9?0>`g9gKPDoX9_6D4i@T000000000100006Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@000270P00 +b`400<42001H0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D0000340000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000 +ADe6:bY0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?i@T=T@gUPi4 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000000c1000X080000000000000<`@00:02000T000090000000P3l0000000000000P3nD93I4 +=iH>A080000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 +00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 +0000000000000000000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0 +@:2`Me6]Ro_noooo`>5?05?0060001_=CAe +000000000000000000000:PEmhj9?0>`g9gKPDoX9Bc`4l0T000000000100006Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0003I0P00b`4001<3001H0P00 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD00003<0000k0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 +60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 +000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 +8D0700`000000000:T0002@0000H00000020?`00000000000020?n6U2d@gUPi4140000`000000000 +8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 +X080000000000000<`@00:02000T000090000000P3l0000000000000P3oQY@]4=iH>A080000<0000 +40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 +000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 +000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0@:2`Me6]Ro_noooo +`>5?05?0060001_=CAe0000000000000000 +00000:PEmhjh000@0003oofYgk_ooooooo0X000C^101T0000000002R1nPUX2Zl0 +C>9?0>`g9gKPDoX9JWL4kPT000000000100006Af00P000009@0000`0000100005P0000`0000H0000 +4P0000`000010000600000`000000002E00005@0000_0P00b`4006T2001H0P000P00000000000000 +0000000000010000C00000000000000000000?ooooooooooD00003D0000k00009@0000`0000>0020 +:00000`0000100008P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q000020000680000<0000 +0@0004`0001T000000000;<0000b1000_`400000002c0000<`@000d1000Y0:X0000000000000080o +000000000000080o0000000000000000000000000000000000000000000R000030000?oooom60000 +700001000015CDH[0T0000`0000000003P0001@000000000400001@0 +\>"], "Graphics", + ImageSize->{274., 172.04651162790697`}, + ImageMargins->{{63, 0}, {0, 0}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm54Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm54Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng54e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { + 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, + 3.8050142445247602`*^9}, {3.8050144625554366`*^9, + 3.8050144671851745`*^9}, {3.8050146989824276`*^9, + 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { + 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, + 3.8055253268748503`*^9}, {3.8055435243970222`*^9, 3.8055435260702963`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"5", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { + 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, + 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { + 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, + 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { + 3.8050147100626383`*^9, 3.8050147209115753`*^9}, {3.805542851655855*^9, + 3.805542865871192*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False, + ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, 3.804857115838684*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{"-", "xin"}]}], ";"}]], "Input", + CellChangeTimes->{{3.805613479048188*^9, 3.8056134837763076`*^9}, { + 3.8056135202157197`*^9, 3.805613523917901*^9}, 3.805620181281417*^9, + 3.805620282192327*^9, 3.8056203870821347`*^9, 3.8056227602142344`*^9}], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf14", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf54", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { + 3.805455158947027*^9, 3.805455179490837*^9}, 3.8055435268235207`*^9}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf54", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, + 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { + 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, + 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { + 3.8055275203538437`*^9, 3.8055275229851294`*^9}, 3.805543527498823*^9}], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, + 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { + 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, + 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, + 3.805529803320966*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { + 3.805529804336918*^9, 3.805529805264961*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, + 3.80552980857155*^9}, 3.8055349955610886`*^9}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng14Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { + 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, + 3.8055269059685616`*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng14Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, + 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { + 3.8055269247042356`*^9, 3.805526925551361*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng14", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U + + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng54Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { + 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, + 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}, { + 3.8055435282460527`*^9, 3.80554352928498*^9}, 3.8056156941558247`*^9}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng54Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { + 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, + 3.805526943719621*^9}, {3.8055435295157423`*^9, 3.8055435305626636`*^9}, + 3.805615696044875*^9, {3.80561592361913*^9, 3.8056159274991283`*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng54", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p5", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng54Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p5", "-", "p4"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng54Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { + 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, + 3.805529825723857*^9}, {3.8055435312979045`*^9, 3.8055435340910234`*^9}, { + 3.805615699253565*^9, 3.8056157030126886`*^9}, {3.8056158864215*^9, + 3.805615891278494*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False, + ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The spool position is recalculated.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.8048570859515133`*^9, 3.804857115838684*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell["xine = 2 xin - 1;", "Text", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, + 3.805620122886653*^9}, + ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A14", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A54", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, + 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { + 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { + 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, + 3.8050142592720647`*^9}, {3.8050145583552456`*^9, + 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, + 3.805543535062022*^9}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["Calculation of the Ng functions for flow calculations.", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { + 3.8047461774905787`*^9, 3.804746198521885*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, + ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, + 3.8050150348708344`*^9}, {3.805541341182918*^9, 3.805541344157849*^9}, { + 3.805542590819909*^9, 3.805542591335378*^9}, {3.805542630843624*^9, + 3.8055426677365685`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}}, + ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dE14", "=", + RowBox[{"qm14", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE54", "=", + RowBox[{"qm54", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm54", "]"}], " ", "T4"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm54", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm14", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm54", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, + 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { + 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, + 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { + 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, + 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { + 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, + 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9, { + 3.8055435357073555`*^9, 3.8055435385664062`*^9}, {3.8056161243081217`*^9, + 3.805616125929469*^9}}, + ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], + +Cell["The system equations to be solved in each time step", "Text", + CellChangeTimes->{{3.8047462843423653`*^9, + 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ +09172eb1a580"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Pos", "==", + RowBox[{"Cf14", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm14Neg", "==", + RowBox[{"Cf14", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm54Pos", "==", + RowBox[{"Cf54", " ", "p5", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T5"]], "Ng54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm54Neg", "\[Equal]", + RowBox[{"Cf54", " ", "p4", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T4"]], "Ng54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE4", "\[Equal]", + RowBox[{"dE14", "+", "dE54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE5", "\[Equal]", + RowBox[{"-", "dE54"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { + 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, + 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { + 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, + 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { + 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { + 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, + 3.8047735482868767`*^9}, {3.8047735971185064`*^9, + 3.8047735998317075`*^9}, {3.8047736429182663`*^9, + 3.8047736460290556`*^9}, {3.8050134971542053`*^9, + 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { + 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, + 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, + 3.805455634417577*^9}, 3.8054560708467517`*^9, {3.8055435392706795`*^9, + 3.8055435675095215`*^9}, {3.805543600949027*^9, 3.8055436403963375`*^9}, + 3.8056161412056923`*^9, 3.8056163240720615`*^9}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179915385733`*^9, 3.8050179925094385`*^9}}, + ExpressionUUID -> "c9b83533-6c3b-4ba2-8e82-200441668409"], + +Cell["The boundary equations for transmission line ports", "Text", + CellChangeTimes->{{3.804746317156512*^9, + 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ +2783204ff18e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p4", " ", "==", + RowBox[{"(", + RowBox[{"c4", " ", "+", " ", + RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", + RowBox[{"p5", " ", "==", + RowBox[{"(", + RowBox[{"c5", " ", "+", " ", + RowBox[{"Zc5", " ", "dE5"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { + 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, + 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { + 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, + 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { + 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, + 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}, { + 3.8055429199643965`*^9, 3.805542931543451*^9}, {3.8055436774251413`*^9, + 3.805543684657682*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, 3.6267881959573336`*^9}}, + ExpressionUUID -> "7aee13e0-4e61-4e17-a44c-47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", + ",", "qm14Neg", ",", "qm54Pos", ",", "qm54Neg", ",", "dE1", ",", "dE2", + ",", "dE3", ",", "dE4", ",", "dE5", ",", "p1", ",", "p2", ",", "p3", ",", + "p4", ",", "p5"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, + 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, + 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { + 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, + 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { + 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, + 3.8050144049803495`*^9}, {3.8050146729333415`*^9, + 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}, { + 3.805542938271511*^9, 3.805542942279377*^9}, {3.805543543906898*^9, + 3.805543544390399*^9}, {3.8055436458097534`*^9, 3.8055436733203783`*^9}}, + ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +Variables are calculated that are not directly involved in the system \ +equations. The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text", + CellChangeTimes->{{3.8047463779198356`*^9, 3.8047464099747696`*^9}}, + ExpressionUUID -> "42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm1", " ", "==", " ", + RowBox[{ + RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qm2", " ", "==", " ", + RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", " ", "==", " ", + RowBox[{"-", "qm32"}]}], " ", ",", "\[IndentingNewLine]", + RowBox[{"qm4", " ", "==", " ", + RowBox[{"qm14", "+", "qm54"}]}], " ", ",", "\[IndentingNewLine]", + RowBox[{"qm5", " ", "==", " ", + RowBox[{"-", "qm54"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng54e", "==", "Ng54"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", + RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { + 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, + 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { + 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, + 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { + 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, + 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { + 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, + 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, + 3.805525497428443*^9, 3.8055260034368134`*^9, {3.8055429500503626`*^9, + 3.80554300919835*^9}, {3.8055432275081615`*^9, 3.8055432693160367`*^9}, { + 3.8055433007486143`*^9, 3.8055433082119155`*^9}, 3.805543350397403*^9, { + 3.8055434849805794`*^9, 3.8055434916496983`*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1159, 776}, +WindowMargins->{{300, Automatic}, {90, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 426, 6, 70, "Section"], +Cell[1009, 30, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1367, 38, 203, 3, 30, "Text"], +Cell[1573, 43, 529, 12, 30, "Input"], +Cell[2105, 57, 788, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2918, 76, 1933, 39, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4854, 117, 4185, 60, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[9042, 179, 378, 8, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[9457, 192, 98, 0, 41, "Subsection"], +Cell[9558, 194, 1098, 16, 68, "Text"], +Cell[10659, 212, 16060, 200, 181, "Graphics"], +Cell[26722, 414, 2486, 53, 215, "Input"], +Cell[29211, 469, 646, 13, 69, "Input"], +Cell[29860, 484, 3298, 70, 297, "Input"], +Cell[33161, 556, 1846, 33, 145, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[35044, 594, 149, 3, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[35196, 599, 229, 3, 30, "Text"], +Cell[35428, 604, 307, 6, 30, "Input"], +Cell[35738, 612, 374, 6, 30, "Text"], +Cell[36115, 620, 1977, 53, 170, "Input"], +Cell[38095, 675, 738, 14, 88, "Input"], +Cell[38836, 691, 249, 4, 30, "Text"], +Cell[39088, 697, 191, 4, 30, "Input"], +Cell[39282, 703, 1192, 25, 74, "Input"], +Cell[40477, 730, 1145, 24, 74, "Input"], +Cell[41625, 756, 1449, 42, 94, "Input"], +Cell[43077, 800, 1246, 26, 74, "Input"], +Cell[44326, 828, 1188, 25, 74, "Input"], +Cell[45517, 855, 2213, 50, 94, "Input"], +Cell[47733, 907, 1246, 26, 74, "Input"], +Cell[48982, 935, 1195, 25, 74, "Input"], +Cell[50180, 962, 1454, 43, 94, "Input"], +Cell[51637, 1007, 1368, 27, 74, "Input"], +Cell[53008, 1036, 1363, 27, 74, "Input"], +Cell[54374, 1065, 2338, 52, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[56749, 1122, 149, 3, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[56901, 1127, 229, 3, 30, "Text"], +Cell[57133, 1132, 261, 4, 30, "Text"], +Cell[57397, 1138, 374, 6, 30, "Text"], +Cell[57774, 1146, 1937, 53, 170, "Input"], +Cell[59714, 1201, 248, 3, 30, "Text"], +Cell[59965, 1206, 191, 4, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[60193, 1215, 158, 2, 49, "Subsection"], +Cell[60354, 1219, 822, 16, 69, "Input"], +Cell[61179, 1237, 293, 4, 30, "Text"], +Cell[61475, 1243, 3797, 101, 202, "Input"], +Cell[65275, 1346, 197, 3, 30, "Text"], +Cell[65475, 1351, 5330, 94, 573, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[70842, 1450, 161, 2, 49, "Subsection"], +Cell[71006, 1454, 194, 3, 30, "Text"], +Cell[71203, 1459, 2041, 40, 145, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[73281, 1504, 173, 2, 49, "Subsection"], +Cell[73457, 1508, 1701, 26, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[75195, 1539, 88, 0, 49, "Subsection"], +Cell[75286, 1541, 303, 5, 30, "Text"], +Cell[75592, 1548, 2147, 38, 240, "Input"], +Cell[77742, 1588, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticValve53.pdf b/devPneumatic/PneumaticValve53.pdf new file mode 100644 index 0000000000000000000000000000000000000000..81ea9440780de139fdaded3fa34887af6d4023ba GIT binary patch literal 94415 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%0Ayk#gd3Ft{ZP4tfX@si{aWfho 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 H@6Y@LANXjO literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticValve53.svg b/devPneumatic/PneumaticValve53.svg new file mode 100644 index 0000000..c4a9a74 --- /dev/null +++ b/devPneumatic/PneumaticValve53.svg @@ -0,0 +1,814 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValve53.xml b/devPneumatic/PneumaticValve53.xml new file mode 100644 index 0000000..79918ed --- /dev/null +++ b/devPneumatic/PneumaticValve53.xml @@ -0,0 +1,23 @@ + + + + + + + + + Pnenumatic Valve53. + PneumaticValve53.nb + PneumaticValve53.pdf + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticValves.svg b/devPneumatic/PneumaticValves.svg new file mode 100644 index 0000000..2931f4b --- /dev/null +++ b/devPneumatic/PneumaticValves.svg @@ -0,0 +1,820 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticVolume2.hpp b/devPneumatic/PneumaticVolume2.hpp new file mode 100644 index 0000000..93bf86e --- /dev/null +++ b/devPneumatic/PneumaticVolume2.hpp @@ -0,0 +1,308 @@ +#ifndef PNEUMATICVOLUME2_HPP_INCLUDED +#define PNEUMATICVOLUME2_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticVolume2.hpp +//! @author Petter Krus +//! @date Wed 13 Mar 2013 15:36:17 +//! @brief Pneumatic volume +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14.IEI, Documents, CompgenNG}/PneumaticNGM.nb*/ + +using namespace hopsan; + +class PneumaticVolume2 : public ComponentC +{ +private: + double mV; + double mR; + double mcv; + double mka; + double mT0; + double malpha; + double mpmin; + Port *mpPp1; + Port *mpPp2; + Port *mpPmass; + double delayParts1[9]; + double delayParts2[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[1]; + int mNstep; + //Port Pp1 variable + double pp1; + double qmp1; + double Tp1; + double dEp1; + double cp1; + double Zcp1; + //Port Pp2 variable + double pp2; + double qmp2; + double Tp2; + double dEp2; + double cp2; + double Zcp2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double mass; + //InitialExpressions variables + double fak; + double Tav; + double pav; + + //LocalExpressions variables + double ZcEP; + double cdp1; + double cdp2; + //Expressions variables + //Port Pp1 pointer + double *mpND_pp1; + double *mpND_qmp1; + double *mpND_Tp1; + double *mpND_dEp1; + double *mpND_cp1; + double *mpND_Zcp1; + //Port Pp2 pointer + double *mpND_pp2; + double *mpND_qmp2; + double *mpND_Tp2; + double *mpND_dEp2; + double *mpND_cp2; + double *mpND_Zcp2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //outputVariables pointers + double *mpND_mass; + Delay mDelayedPart10; + Delay mDelayedPart11; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticVolume2(); + } + + void configure() + { + const double V = 0.001; + const double R = 287.; + const double cv = 718.; + const double ka = 0.; + const double T0 = 300.; + const double alpha = 0.1; + const double pmin = 1.; +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(1,1); + systemEquations.create(1); + delayedPart.create(2,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + mV = V; + mR = R; + mcv = cv; + mka = ka; + mT0 = T0; + malpha = alpha; + mpmin = pmin; + + //Add ports to the component + mpPp1=addPowerPort("Pp1","NodePneumatic"); + mpPp2=addPowerPort("Pp2","NodePneumatic"); + + //Add inputVariables ports to the component + + //Add outputVariables ports to the component + mpPmass=addWritePort("Pmass","NodeSignal", Port::NOTREQUIRED); + +//==This code has been autogenerated using Compgen== + //Register changable parameters to the HOPSAN++ core + registerParameter("V", "Volume", "m3", mV); + registerParameter("R", "Gas constant", "J/Kg K", mR); + registerParameter("cv", "heatcoeff", "J/Kg K", mcv); + registerParameter("ka", "heat conductance", "J/Ks", mka); + registerParameter("T0", "Outside temperature", "K", mT0); + registerParameter("alpha", "numerical damping", "", malpha); + registerParameter("pmin", "numerical min pressure", "", mpmin); + mpSolver = new EquationSystemSolver(this,1); + //Set start values in nodes + //Port Pp1 + setStartValue(mpPp1, NodePneumatic::PRESSURE,100000.); + setStartValue(mpPp1, NodePneumatic::MASSFLOW,0.); + setStartValue(mpPp1, NodePneumatic::TEMPERATURE,293.); + setStartValue(mpPp1, NodePneumatic::ENERGYFLOW,0.); + setStartValue(mpPp1, NodePneumatic::WAVEVARIABLE,0.); + setStartValue(mpPp1, NodePneumatic::CHARIMP,0.); + //Port Pp2 + setStartValue(mpPp2, NodePneumatic::PRESSURE,100000.); + setStartValue(mpPp2, NodePneumatic::MASSFLOW,0.); + setStartValue(mpPp2, NodePneumatic::TEMPERATURE,293.); + setStartValue(mpPp2, NodePneumatic::ENERGYFLOW,0.); + setStartValue(mpPp2, NodePneumatic::WAVEVARIABLE,0.); + setStartValue(mpPp2, NodePneumatic::CHARIMP,0.); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Pp1 + mpND_pp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::PRESSURE); + mpND_qmp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::MASSFLOW); + mpND_Tp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::TEMPERATURE); + mpND_dEp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::ENERGYFLOW); + mpND_cp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::WAVEVARIABLE); + mpND_Zcp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::CHARIMP); + //Port Pp2 + mpND_pp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::PRESSURE); + mpND_qmp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::MASSFLOW); + mpND_Tp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::TEMPERATURE); + mpND_dEp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::ENERGYFLOW); + mpND_cp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::WAVEVARIABLE); + mpND_Zcp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::CHARIMP); + //Read inputVariables pointers from nodes + //Read outputVariable pointers from nodes + mpND_mass=getSafeNodeDataPtr(mpPmass, NodeSignal::VALUE); + + //Read variables from nodes + //Port Pp1 + pp1 = (*mpND_pp1); + qmp1 = (*mpND_qmp1); + Tp1 = (*mpND_Tp1); + dEp1 = (*mpND_dEp1); + cp1 = (*mpND_cp1); + Zcp1 = (*mpND_Zcp1); + //Port Pp2 + pp2 = (*mpND_pp2); + qmp2 = (*mpND_qmp2); + Tp2 = (*mpND_Tp2); + dEp2 = (*mpND_dEp2); + cp2 = (*mpND_cp2); + Zcp2 = (*mpND_Zcp2); + + //Read inputVariables from nodes + + //Read outputVariables from nodes + mass = mpPmass->getStartValue(NodeSignal::VALUE); + +//==This code has been autogenerated using Compgen== + //InitialExpressions + fak = 1/(1 - malpha); + Tav = (Tp1 + Tp2)/2.; + pav = (pp1 + pp2)/2.; + mass = (mV*pav)/(mR*Tav); + + //LocalExpressions + pav = mpmin/2. + ((-mpmin + pp1 + pp2)*onPositive(-mpmin + pp1 + \ +pp2))/2.; + Tav = (mV*pav)/(mass*mR); + ZcEP = (fak*mR*mTimestep)/((mcv + mR)*mV); + cdp1 = cp2 + 2*(dEp2 + (mka*(mT0 - Tav))/2.)*ZcEP; + cdp2 = cp1 + 2*(dEp1 + (mka*(mT0 - Tav))/2.)*ZcEP; + + //Initialize delays + delayParts1[1] = (-2*mass - mTimestep*qmp1 - mTimestep*qmp2)/2.; + mDelayedPart11.initialize(mNstep,delayParts1[1]); + + delayedPart[1][1] = delayParts1[1]; + } + void simulateOneTimestep() + { + Vec stateVar(1); + Vec stateVark(1); + Vec deltaStateVar(1); + + //Read variables from nodes + //Port Pp1 + pp1 = (*mpND_pp1); + qmp1 = (*mpND_qmp1); + dEp1 = (*mpND_dEp1); + //Port Pp2 + pp2 = (*mpND_pp2); + qmp2 = (*mpND_qmp2); + dEp2 = (*mpND_dEp2); + + //Read inputVariables from nodes + + //LocalExpressions + pav = mpmin/2. + ((-mpmin + pp1 + pp2)*onPositive(-mpmin + pp1 + \ +pp2))/2.; + Tav = (mV*pav)/(mass*mR); + ZcEP = (fak*mR*mTimestep)/((mcv + mR)*mV); + cdp1 = cp2 + 2*(dEp2 + (mka*(mT0 - Tav))/2.)*ZcEP; + cdp2 = cp1 + 2*(dEp1 + (mka*(mT0 - Tav))/2.)*ZcEP; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = mass; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //Volume2 + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =mass - (mTimestep*(qmp1 + qmp2))/2. + \ +delayedPart[1][1]; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + mass=stateVark[0]; + //Expressions + Tp1 = Tav; + Tp2 = Tav; + cp1 = cdp1 + (mka*(mT0 - Tav)*ZcEP)/2.; + cp2 = cdp2 + (mka*(mT0 - Tav)*ZcEP)/2.; + Zcp1 = ZcEP; + Zcp2 = ZcEP; + } + + //Calculate the delayed parts + delayParts1[1] = (-2*mass - mTimestep*qmp1 - mTimestep*qmp2)/2.; + + delayedPart[1][1] = delayParts1[1]; + + //Write new values to nodes + //Port Pp1 + (*mpND_Tp1)=Tp1; + (*mpND_cp1)=cp1; + (*mpND_Zcp1)=Zcp1; + //Port Pp2 + (*mpND_Tp2)=Tp2; + (*mpND_cp2)=cp2; + (*mpND_Zcp2)=Zcp2; + //outputVariables + (*mpND_mass)=mass; + + //Update the delayed variabels + mDelayedPart11.update(delayParts1[1]); + + } +}; +#endif // PNEUMATICVOLUME2_HPP_INCLUDED diff --git a/devPneumatic/PneumaticVolumeM.hpp b/devPneumatic/PneumaticVolumeM.hpp new file mode 100644 index 0000000..2ba9505 --- /dev/null +++ b/devPneumatic/PneumaticVolumeM.hpp @@ -0,0 +1,174 @@ +#ifndef PNEUMATICVOLUMEM_HPP_INCLUDED +#define PNEUMATICVOLUMEM_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticVolumeM.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 11 Aug 2020 11:21:36 +//! @brief Pressure source +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticVolumeM.nb*/ + +using namespace hopsan; + + class PneumaticVolumeM : public ComponentC + { + + private: + double mPh; + double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; + Port *mpP1; + size_t mNumPorts; + std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; + double *mpV, *mpR, *mpcv, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; + + std::vector mvCnew; + std::vector mvC0; + + public: + static Component *Creator() + { + return new PneumaticVolumeM(); + } + + void configure() + { + //Add ports to the component + mpP1 = addPowerMultiPort("P1", "NodePneumatic"); + + addConstant("P_high", "High pressure (for animation)", "Pa", 2.e6, mPh); + + //Add inputParammeters to the component + addInputVariable("V", "Volume", "m3", 0.0001,&mpV); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718.,&mpcv); + addInputVariable("ka", "heat conductance", "J/Ks", 0.,&mpka); + addInputVariable("T0", "Outside temperature", "K", 300.,&mpT0); + addInputVariable("alpha", "numerical damping", "", 0.1,&mpalpha); + addInputVariable("pmin", "numerical min pressure", "",1.,&mppmin); + + setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); + setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); + setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); + + //Add outputVariables to the component + addOutputVariable("mass","Mass in volume","kg",0.001,&mpmass); + + } + + + void initialize() + { +// double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; + //Read inputParameters from nodes + V = (*mpV); + R = (*mpR); + cv = (*mpcv); + ka = (*mpka); + T0 = (*mpT0); + alpha = (*mpalpha); + pmin = (*mppmin); + //Read outputVariables from nodes + mass = (*mpmass); + + mNumPorts = mpP1->getNumPorts(); + mvpP1_p.resize(mNumPorts); + mvpP1_qm.resize(mNumPorts); + mvpP1_T.resize(mNumPorts); + mvpP1_dE.resize(mNumPorts); + mvpP1_c.resize(mNumPorts); + mvpP1_Zc.resize(mNumPorts); + mvC0.resize(mNumPorts); + mvCnew.resize(mNumPorts); + + //InitialExpressions +// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); + ZcE = mNumPorts*(fak*mTimestep*R)/((cv + R)*2*V); + + for (size_t i=0; i + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticVolumeM.xml b/devPneumatic/PneumaticVolumeM.xml new file mode 100644 index 0000000..e05accb --- /dev/null +++ b/devPneumatic/PneumaticVolumeM.xml @@ -0,0 +1,18 @@ + + + + + + + + + Pnenumatic multiport volume. + PneumaticVolumeM.nb + PneumaticVolumeM.pdf + + + + + + + diff --git a/devPneumatic/PneumaticVolumeMulti.hpp b/devPneumatic/PneumaticVolumeMulti.hpp new file mode 100644 index 0000000..3db8ac1 --- /dev/null +++ b/devPneumatic/PneumaticVolumeMulti.hpp @@ -0,0 +1,196 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file PneumaticVolumeMulti.hpp +//! @author Petter Krus +//! @date 2020-07-29 +//! Based on HydraulicVolumeMultiPort.hpp +//! author Bj�rn Eriksson +//! +//! @brief Contains a Pneumatic Volume Component +//! + +#ifndef PNEUMATICVOLUMEMULTI_HPP_INCLUDED +#define PNEUMATICVOLUMEMULTI_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentSystem.h" +#include + +namespace HopsanFMU8422 { + + //! + //! @brief A pneumatic volume component + //! @ingroup PneumaticComponents + //! + class PneumaticVolumeMulti : public ComponentC + { + + private: + double mPh; + Port *mpP1; + size_t mNumPorts; + std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; + double *mpV, *mpR, *mpcv, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; + + std::vector mvCnew; + std::vector mvC0; + + public: + static Component *Creator() + { + return new PneumaticVolumeMulti(); + } + + void configure() + { + //Add ports to the component + mpP1 = addPowerMultiPort("P1", "NodePneumatic"); + + addConstant("P_high", "High pressure (for animation)", "Pa", 2e6, mPh); + setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); + setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); + setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); + + //Add inputParammeters to the component + addInputVariable("V", "Volume", "m3", 0.001,&mpV); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718.,&mpcv); + addInputVariable("ka", "heat conductance", "J/Ks", 0.,&mpka); + addInputVariable("T0", "Outside temperature", "K", 300.,&mpT0); + addInputVariable("alpha", "numerical damping", "", 0.1,&mpalpha); + addInputVariable("pmin", "numerical min pressure", "",1.,&mppmin); + //Add outputVariables to the component + addOutputVariable("mass","Mass in volume","kg",0.001,&mpmass); + + } + + + void initialize() + { + double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; + //Read inputParameters from nodes + V = (*mpV); + R = (*mpR); + cv = (*mpcv); + ka = (*mpka); + T0 = (*mpT0); + alpha = (*mpalpha); + pmin = (*mppmin); + //Read outputVariables from nodes + mass = (*mpmass); + + mNumPorts = mpP1->getNumPorts(); + mvpP1_p.resize(mNumPorts); + mvpP1_qm.resize(mNumPorts); + mvpP1_T.resize(mNumPorts); + mvpP1_dE.resize(mNumPorts); + mvpP1_c.resize(mNumPorts); + mvpP1_Zc.resize(mNumPorts); + mvC0.resize(mNumPorts); + mvCnew.resize(mNumPorts); + + //InitialExpressions +// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); + ZcE = double(fak*mTimestep*R)/((cv + R)*V); + + double pTot=0.0; + for (size_t i=0; i + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticdEsensor.svg b/devPneumatic/PneumaticdEsensor.svg new file mode 100644 index 0000000..aa1e812 --- /dev/null +++ b/devPneumatic/PneumaticdEsensor.svg @@ -0,0 +1,145 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + dE + + + diff --git a/devPneumatic/compile.bat b/devPneumatic/compile.bat new file mode 100644 index 0000000..704a1c2 --- /dev/null +++ b/devPneumatic/compile.bat @@ -0,0 +1,7 @@ +@echo off +set PATH=C:/Program Files/Hopsan212/mingw64/bin;%PATH% +@echo on +if exist PneumaticLib.dll ( + del PneumaticLib.dll +) +g++ -I"C:/Program Files/Hopsan212/HopsanCore/include" -fPIC -w -Wl,--rpath,"C:/Users/petkr14/Dropbox/HopsanComponents/PneumaticDevelop" -DRELEASECOMPILING -std=c++11 Pneumatic.cc -L"C:/Program Files/Hopsan212/bin" -lhopsancore -shared -o PneumaticLib.dll diff --git a/devPneumatic/desktop.ini b/devPneumatic/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..a7cc8d5c1ed26f8581fee52d36cafb40252177e9 GIT binary patch literal 176 zcmZXOK??z45Qd+#U$IAujg+LENV$n44oi!z-EU>7@7Lp5SG~>j&dk%yeBOIfcHGD* z)xyYV)SAGBnj; + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/devPneumatic/volume_user.svg b/devPneumatic/volume_user.svg new file mode 100644 index 0000000..4948228 --- /dev/null +++ b/devPneumatic/volume_user.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/devPneumatic/volume_user_movable.svg b/devPneumatic/volume_user_movable.svg new file mode 100644 index 0000000..eec81a5 --- /dev/null +++ b/devPneumatic/volume_user_movable.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/volume_user_overlay.svg b/devPneumatic/volume_user_overlay.svg new file mode 100644 index 0000000..9da55d6 --- /dev/null +++ b/devPneumatic/volume_user_overlay.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/volumemulti_iso.svg b/devPneumatic/volumemulti_iso.svg new file mode 100644 index 0000000..7a03a21 --- /dev/null +++ b/devPneumatic/volumemulti_iso.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + From fc3632c6841ffca23579c027472e74baadfb640e Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Thu, 17 Sep 2020 12:00:50 +0200 Subject: [PATCH 2/8] Adding the ActivityDiagram library Signed-off-by: Petter Krus --- .../ActivityDiagram/ActivityDiagramAction.hpp | 157 + .../ActivityDiagram/ActivityDiagramAction.nb | 850 ++ .../ActivityDiagram/ActivityDiagramAction.svg | 199 + .../ActivityDiagram/ActivityDiagramAction.xml | 25 + .../ActivityDiagram/ActivityDiagramAction1.nb | 778 ++ .../ActivityDiagramAction1.svg | 212 + .../ActivityDiagramActionN.hpp | 152 + .../ActivityDiagramActionN.svg | 199 + .../ActivityDiagramActionN.xml | 24 + .../ActivityDiagramActionN_active.svg | 199 + .../ActivityDiagramAction_action.svg | 212 + .../ActivityDiagramAction_active.svg | 199 + .../ActivityDiagramConnector.hpp | 155 + .../ActivityDiagramConnector.nb | 551 ++ .../ActivityDiagramConnector.svg | 132 + .../ActivityDiagramConnector.xml | 14 + .../ActivityDiagramDecision.hpp | 244 + .../ActivityDiagramDecision.nb | 746 ++ .../ActivityDiagramDecision.svg | 162 + .../ActivityDiagramDecision.xml | 16 + .../ActivityDiagramDecision0.hpp | 242 + .../ActivityDiagram/ActivityDiagramEdge.hpp | 198 + .../ActivityDiagram/ActivityDiagramEdge.nb | 738 ++ .../ActivityDiagram/ActivityDiagramEdge.svg | 136 + .../ActivityDiagram/ActivityDiagramEdge.xml | 14 + .../ActivityDiagram/ActivityDiagramEdge01.hpp | 164 + .../ActivityDiagram/ActivityDiagramEdge1.hpp | 198 + .../ActivityDiagram/ActivityDiagramFinal.hpp | 145 + .../ActivityDiagram/ActivityDiagramFinal.nb | 720 ++ .../ActivityDiagram/ActivityDiagramFinal.svg | 218 + .../ActivityDiagram/ActivityDiagramFinal.xml | 13 + .../ActivityDiagram/ActivityDiagramFinal0.hpp | 127 + .../ActivityDiagramFinalNode.hpp | 131 + .../ActivityDiagramFinalNode.svg | 201 + .../ActivityDiagramFinalNode.xml | 12 + .../ActivityDiagram/ActivityDiagramFork.hpp | 228 + .../ActivityDiagram/ActivityDiagramFork.nb | 599 ++ .../ActivityDiagram/ActivityDiagramFork.svg | 111 + .../ActivityDiagram/ActivityDiagramFork.xml | 15 + .../ActivityDiagram/ActivityDiagramFork0.hpp | 228 + .../ActivityDiagram/ActivityDiagramForkN.hpp | 178 + .../ActivityDiagram/ActivityDiagramForkN.xml | 14 + .../ActivityDiagramInitiateState.hpp | 144 + .../ActivityDiagramInitiateState.nb | 568 ++ .../ActivityDiagramInitiateState.svg | 114 + .../ActivityDiagramInitiateState.xml | 13 + .../ActivityDiagram/ActivityDiagramJoin.hpp | 181 + .../ActivityDiagram/ActivityDiagramJoin.nb | 661 ++ .../ActivityDiagram/ActivityDiagramJoin.svg | 132 + .../ActivityDiagram/ActivityDiagramJoin.xml | 15 + .../ActivityDiagram/ActivityDiagramJoin0.hpp | 165 + .../ActivityDiagram/ActivityDiagramJoin0.nb | 726 ++ .../ActivityDiagram/ActivityDiagramJoin0.svg | 113 + .../ActivityDiagram/ActivityDiagramJoin0.xml | 14 + .../ActivityDiagram/ActivityDiagramJoin1.svg | 143 + .../ActivityDiagram/ActivityDiagramJoinN.hpp | 129 + .../ActivityDiagram/ActivityDiagramJoinN.xml | 13 + .../ActivityDiagram/ActivityDiagramLib.cc | 51 + .../ActivityDiagram/ActivityDiagramLib.pro | 50 + .../ActivityDiagram/ActivityDiagramLib.xml | 42 + ... Villani's conflicted copy 2019-10-16).dll | Bin 0 -> 275329 bytes .../ActivityDiagram/ActivityDiagramMerge.hpp | 195 + .../ActivityDiagram/ActivityDiagramMerge.nb | 821 ++ .../ActivityDiagram/ActivityDiagramMerge.svg | 133 + .../ActivityDiagram/ActivityDiagramMerge.xml | 16 + .../ActivityDiagram/ActivityDiagramMerge0.hpp | 165 + .../ActivityDiagram/ActivityDiagramMerge0.nb | 624 ++ .../ActivityDiagram/ActivityDiagramMerge0.svg | 100 + .../ActivityDiagram/ActivityDiagramMerge0.xml | 14 + .../ActivityDiagram/ActivityDiagramMergeN.hpp | 130 + .../ActivityDiagram/ActivityDiagramMergeN.svg | 100 + .../ActivityDiagram/ActivityDiagramMergeN.xml | 13 + .../ActivityDiagram/AvtivityDiagramAction.svg | 212 + .../AvtivityDiagramActionN.svg | 199 + ActivityDiagrams/ActivityDiagram/compile.bat | 7 + ActivityDiagrams/Exempel/ADcylinder.hmf | 5292 +++++++++++ .../Exempel/ActivityDiagramTest.hmf | 8397 +++++++++++++++++ .../PneumaticCompressor.svg | 126 + .../PneumaticComponents/PneumaticExhaust.hpp | 159 + .../PneumaticComponents/PneumaticExhaust.nb | 596 ++ .../PneumaticComponents/PneumaticExhaust.svg | 161 + .../PneumaticComponents/PneumaticExhaust.xml | 18 + .../PneumaticPistonMass.svg | 412 + .../PneumaticPistonSASpringMass.svg | 415 + .../PneumaticComponents/PneumaticPsourceM.svg | 93 + .../PneumaticRestrictor.hpp | 421 + .../PneumaticRestrictor.svg | 811 ++ .../PneumaticComponents/PneumaticValve22.hpp | 432 + .../PneumaticComponents/PneumaticValve22.pdf | Bin 0 -> 55164 bytes .../PneumaticComponents/PneumaticValve22G.nb | 894 ++ .../PneumaticComponents/PneumaticValve32.hpp | 663 ++ .../PneumaticComponents/PneumaticValve32.nb | 1256 +++ .../PneumaticComponents/PneumaticValve32.pdf | Bin 0 -> 90865 bytes .../PneumaticComponents/PneumaticValve32G.nb | 1444 +++ .../PneumaticComponents/PneumaticValve33.hpp | 663 ++ .../PneumaticComponents/PneumaticValve33.pdf | Bin 0 -> 91274 bytes .../PneumaticComponents/PneumaticValve33.svg | 478 + .../PneumaticComponents/PneumaticValve33.xml | 21 + .../PneumaticComponents/PneumaticValve33G.nb | 1331 +++ .../PneumaticComponents/PneumaticValve42.hpp | 1125 +++ .../PneumaticComponents/PneumaticValve43.pdf | Bin 0 -> 83608 bytes .../PneumaticComponents/PneumaticValve52.hpp | 1214 +++ .../PneumaticComponents/PneumaticValve53.hpp | 1214 +++ .../PneumaticComponents/PneumaticValve53.svg | 814 ++ .../PneumaticComponents/PneumaticValve53.xml | 23 + .../PneumaticComponents/PneumaticdEsensor.svg | 145 + .../PneumaticComponents/volume_iso.svg | 93 + .../PneumaticComponents/volume_user.svg | 100 + .../volume_user_movable.svg | 101 + .../volume_user_overlay.svg | 101 + .../PneumaticComponents/volumemulti_iso.svg | 89 + 111 files changed, 44961 insertions(+) create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.svg create mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml create mode 100644 ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg create mode 100644 ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg create mode 100644 ActivityDiagrams/ActivityDiagram/compile.bat create mode 100644 ActivityDiagrams/Exempel/ADcylinder.hmf create mode 100644 ActivityDiagrams/Exempel/ActivityDiagramTest.hmf create mode 100644 devPneumatic/PneumaticComponents/PneumaticCompressor.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticExhaust.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticExhaust.nb create mode 100644 devPneumatic/PneumaticComponents/PneumaticExhaust.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticExhaust.xml create mode 100644 devPneumatic/PneumaticComponents/PneumaticPistonMass.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticPistonSASpringMass.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticPsourceM.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticRestrictor.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticRestrictor.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve22.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve22.pdf create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve22G.nb create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve32.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve32.nb create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve32.pdf create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve32G.nb create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve33.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve33.pdf create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve33.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve33.xml create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve33G.nb create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve42.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve43.pdf create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve52.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve53.hpp create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve53.svg create mode 100644 devPneumatic/PneumaticComponents/PneumaticValve53.xml create mode 100644 devPneumatic/PneumaticComponents/PneumaticdEsensor.svg create mode 100644 devPneumatic/PneumaticComponents/volume_iso.svg create mode 100644 devPneumatic/PneumaticComponents/volume_user.svg create mode 100644 devPneumatic/PneumaticComponents/volume_user_movable.svg create mode 100644 devPneumatic/PneumaticComponents/volume_user_overlay.svg create mode 100644 devPneumatic/PneumaticComponents/volumemulti_iso.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp new file mode 100644 index 0000000..91da5a7 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp @@ -0,0 +1,157 @@ +#ifndef ACTIVITYDIAGRAMACTION_HPP_INCLUDED +#define ACTIVITYDIAGRAMACTION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramAction.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 17 Oct 2019 16:57:08 +//! @brief State +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramAction.nb*/ + +using namespace hopsan; + +class ActivityDiagramAction : public ComponentC +{ +private: + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double state; + //InitialExpressions variables + double stated; + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + double *mpstate; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramAction(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + addOutputVariable("state","State","",0.,&mpstate); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + state = (*mpstate); + +//==This code has been autogenerated using Compgen== + //InitialExpressions + stated = state; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + qpn1 = (*mpP_qpn1); + //Port Ppn2 + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + state = onPositive(-0.5 + qpn1 + qpn2 + stated); + spn1 = state; + spn2 = state; + stated = state; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_spn1)=spn1; + //Port Ppn2 + (*mpP_spn2)=spn2; + //outputVariables + (*mpstate)=state; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMACTION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb new file mode 100644 index 0000000..bc838d0 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb @@ -0,0 +1,850 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 45119, 842] +NotebookOptionsPosition[ 40523, 772] +NotebookOutlinePosition[ 40943, 788] +CellTagsIndexPosition[ 40900, 785] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[239]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + CellLabel-> + "In[241]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, + 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, + 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, + 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, + 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, + 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, + 3.7803129134806423`*^9, 3.780312972657365*^9}, + CellLabel-> + "Out[241]=",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ +"a5795f19-20e6-4fe4-996e-0c4224394789"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[242]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["Action", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, + 3.7748618470267663`*^9},ExpressionUUID->"3d597773-8bb1-48e6-9d32-\ +6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, + 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { + 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, + CellLabel-> + "In[243]:=",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, + 3.7803129728554816`*^9}, + CellLabel-> + "Out[248]=",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "17", ",", "16", ",", "56", ",", + "12.7882775`8.859387008130836"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, + 3.780312972864458*^9}, + CellLabel-> + "Out[252]=",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}, + CellLabel-> + "In[253]:=",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + CellLabel-> + "In[254]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, + 3.7749719205128927`*^9, 3.7803127433380165`*^9}, + CellLabel-> + "In[255]:=",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, + 3.7803127608689785`*^9}, + CellLabel-> + "In[256]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, + 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { + 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, + 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { + 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, + 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { + 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, + 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { + 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, + 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { + 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, + 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { + 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, + 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { + 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, + 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { + 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { + 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, + 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, + 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { + 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { + 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, + 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, + 3.774864663355605*^9}}, + CellLabel-> + "In[257]:=",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR", "[", + RowBox[{"x_", ",", "y_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9, {3.780198065667446*^9, 3.780198068473471*^9}}, + CellLabel-> + "In[258]:=",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR3", "[", + RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "+", "z", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9, {3.780198065667446*^9, 3.7801980939313602`*^9}}, + CellLabel-> + "In[259]:=",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"stated", "\[Equal]", "state"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, + 3.7750255772118697`*^9}, {3.7801982939260798`*^9, 3.7801982945854645`*^9}, + 3.7803127336358166`*^9, 3.780312966819764*^9}, + CellLabel-> + "In[260]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, {3.7748636325484133`*^9, + 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, + 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, + 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { + 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, + 3.7750256313100643`*^9}, {3.7803127945495996`*^9, 3.7803128141224346`*^9}}, + CellLabel-> + "In[261]:=",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}, + CellLabel-> + "In[262]:=",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, + CellLabel-> + "In[263]:=",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,79,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974087306*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,80,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974121656*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,81,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974138799*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ +\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,263,82,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129742971926`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], + +Cell[BoxData[ + TemplateBox[{ + "General","openx", + "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\ +\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\ +\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\ +\\\"}]\\) is not open.\"",2,263,83,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974315183*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Ac\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"on\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,263, + 84,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974332173*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,85,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129743521605`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,263,86, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129743691516`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,87,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974384142*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,263,88, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974488336*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,89,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129745043287`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,263,90,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129745183344`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] +}, +WindowSize->{948, 482}, +WindowMargins->{{Automatic, 13}, {Automatic, 22}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 685, 14, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1923, 54, 1156, 17, 32, "Output",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[3094, 74, 414, 9, 48, "Input",ExpressionUUID->"a5795f19-20e6-4fe4-996e-0c4224394789"], +Cell[CellGroupData[{ +Cell[3533, 87, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3839, 96, 302, 5, 67, "Section",ExpressionUUID->"3d597773-8bb1-48e6-9d32-6c53852bc4f2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4144, 103, 1693, 37, 200, "Input",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5840, 142, 837, 13, 32, "Output",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6680, 157, 902, 16, 32, "Output",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7585, 175, 273, 6, 28, "Input",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7861, 183, 1001, 19, 86, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8865, 204, 332, 7, 28, "Input",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9200, 213, 683, 12, 28, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9886, 227, 2077, 35, 67, "Input",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11966, 264, 458, 10, 28, "Input",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12427, 276, 482, 10, 28, "Input",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12912, 288, 557, 12, 67, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13472, 302, 2562, 41, 124, "Input",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16037, 345, 271, 6, 28, "Input",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16311, 353, 267, 5, 28, "Input",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[16593, 361, 1804, 30, 21, "Message",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], +Cell[18400, 393, 1804, 30, 21, "Message",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], +Cell[20207, 425, 1804, 30, 21, "Message",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], +Cell[22014, 457, 1709, 28, 21, "Message",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], +Cell[23726, 487, 1803, 29, 21, "Message",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], +Cell[25532, 518, 4723, 71, 76, "Message",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], +Cell[30258, 591, 1639, 27, 21, "Message",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], +Cell[31900, 620, 1811, 30, 21, "Message",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], +Cell[33714, 652, 1637, 27, 21, "Message",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], +Cell[35354, 681, 1809, 30, 21, "Message",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], +Cell[37166, 713, 1639, 27, 21, "Message",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], +Cell[38808, 742, 1711, 28, 21, "Message",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg new file mode 100644 index 0000000..3a7c2b8 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml new file mode 100644 index 0000000..de0744a --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb new file mode 100644 index 0000000..fb59082 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb @@ -0,0 +1,778 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 41013, 770] +NotebookOptionsPosition[ 38229, 702] +NotebookOutlinePosition[ 38656, 718] +CellTagsIndexPosition[ 38613, 715] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.7748612729007797`*^9, 3.7748618497859235`*^9, {3.7748626953077*^9, + 3.7748627161878867`*^9}, {3.7748627484267826`*^9, 3.774862765485217*^9}, + 3.774862936369943*^9, 3.774863011141906*^9, 3.774863651011017*^9, + 3.774863747863023*^9, 3.7748646800177937`*^9, 3.7748701468329983`*^9, + 3.7748702849075556`*^9, 3.7748706042064624`*^9, 3.7748707175002804`*^9, + 3.7748708482413254`*^9, 3.7748709807026653`*^9, 3.77498657158222*^9, + 3.775025888224593*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, + 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, + 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, + 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, + 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, + 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, + 3.775025888350546*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["Action", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, + 3.7748618470267663`*^9}, + ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, + 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { + 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, + ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888593295*^9}], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "17", ",", "12", ",", "18", ",", + "8.4963944`8.681809631360546"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888597291*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, + 3.7749719205128927`*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "holdEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.775025781047347*^9, 3.7750257815123925`*^9}, {3.775025834250453*^9, + 3.775025850421156*^9}}, + ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, + 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { + 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, + 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { + 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, + 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { + 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, + 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { + 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, + 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { + 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, + 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { + 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, + 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { + 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, + 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { + 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { + 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, + 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, + 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { + 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { + 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, + 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, + 3.774864663355605*^9}}, + ExpressionUUID -> "b61794f5-4c1b-4806-b168-4e11a52f0c57"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR", "[", + RowBox[{"x_", ",", "y_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9}], + +Cell["\<\ +expressions = { + cpn2r == OnPositive[spn1 + limits[qpn1, -1, 1] - 0.5], + cpn1r == OnPositive[spn1 + limits[qpn2, -1, 1] - 0.5], + spn1 == cpn1r, + spn2 == cpn2r, + state == OR[spn1, spn2] + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, 3.7748700995859013`*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent", "\[Equal]", "event"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, + 3.7750255772118697`*^9}}, + ExpressionUUID -> "6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"iEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "+", + RowBox[{"holdEvent", "*", "oldiEvent", "*", "state"}], "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", + RowBox[{"state", " ", "iEvent"}]}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"oldiEvent", "\[Equal]", "iEvent"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, {3.7748636325484133`*^9, + 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, + 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, + 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { + 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, + 3.7750256313100643`*^9}, {3.775025772158289*^9, 3.7750257746841974`*^9}, + 3.775025819211686*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, + ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Activi\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"mAction\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ +\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ +\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,1156, + 361,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258898919215`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,362,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899628477`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,1156,363, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899898195`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,364,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900197887`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,1156,365, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900467606`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,366,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890073733*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,1156,367,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900997066`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,1156,368,16167503661247200239, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890127678*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,1156,369,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258901536503`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"] +}, +WindowSize->{1091, 684}, +WindowMargins->{{197, Automatic}, {23, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 1097, 16, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3524, 77, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4188, 92, 1108, 16, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5299, 110, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5581, 118, 304, 5, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5888, 125, 1669, 36, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7560, 163, 726, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8289, 175, 791, 13, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9083, 190, 190, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9276, 196, 977, 18, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10256, 216, 444, 11, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10703, 229, 970, 18, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11676, 249, 2053, 34, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13732, 285, 329, 8, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14064, 295, 1862, 31, 144, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15929, 328, 517, 12, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16449, 342, 2892, 48, 164, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19344, 392, 188, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19535, 398, 243, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[19793, 405, 5235, 76, 76, "Message"], +Cell[25031, 483, 1568, 24, 21, "Message"], +Cell[26602, 509, 1740, 27, 21, "Message"], +Cell[28345, 538, 1568, 24, 21, "Message"], +Cell[29916, 564, 1740, 27, 21, "Message"], +Cell[31659, 593, 1566, 24, 21, "Message"], +Cell[33228, 619, 1640, 25, 21, "Message"], +Cell[34871, 646, 1708, 27, 21, "Message"], +Cell[36582, 675, 1643, 25, 21, "Message"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg new file mode 100644 index 0000000..5235120 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp new file mode 100644 index 0000000..9e2605e --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp @@ -0,0 +1,152 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramActionN.hpp +//! @author Petter Krus, Robert Braun, Emilia Villani +//! @date 2019-08-15 +//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson +//! @brief Contains a Electric Volume Component +//! + +#ifndef ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED +#define ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A StateMachine state component + //! @ingroup StateMachine + //! + class ActivityDiagramActionN : public ComponentC + { + + private: + double state; + double *mpAlpha; + double *mpstate; +// double capacitance; + + std::vector mvpN_s, mvpN_q; + std::vector mvp_S0; + size_t mNumPorts; + Port *mpPpn1; + + std::mutex mTokenMutex; + bool mTokenLocked; + + public: + static Component *Creator() + { + return new ActivityDiagramActionN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); +// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); + addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); + addOutputVariable("state","State activated","",0.,&mpstate); + } + + + void initialize() + { + double alpha; + double state; + alpha = (*mpAlpha); + + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvpN_q.resize(mNumPorts); + mvp_S0.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.xml new file mode 100644 index 0000000..9ca0847 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg new file mode 100644 index 0000000..a772e5f --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg new file mode 100644 index 0000000..4e52d02 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg new file mode 100644 index 0000000..bd6ec35 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp new file mode 100644 index 0000000..ea3cec5 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp @@ -0,0 +1,155 @@ +#ifndef ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED +#define ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramConnector.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 15 Aug 2019 15:00:38 +//! @brief Connector between Q-components +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramConnector.nb*/ + +using namespace hopsan; + +class ActivityDiagramConnector : public ComponentC +{ +private: + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //InitialExpressions variables + double stated; + //Expressions variables + double state; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramConnector(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + spn1 = state; + spn2 = state; + stated = state; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + qpn1 = (*mpP_qpn1); + //Port Ppn2 + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + state = onPositive(-0.5 + qpn1 + qpn2 + stated); + spn1 = state; + spn2 = state; + stated = state; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_spn1)=spn1; + //Port Ppn2 + (*mpP_spn2)=spn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb new file mode 100644 index 0000000..65ba520 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb @@ -0,0 +1,551 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 28673, 543] +NotebookOptionsPosition[ 26548, 489] +NotebookOutlinePosition[ 26976, 505] +CellTagsIndexPosition[ 26933, 502] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.774861290427595*^9, 3.7748618675437913`*^9, 3.7748628376552143`*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.77486129045057*^9, 3.7748618675707636`*^9, 3.774862837718149*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Connector", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.7651000854987707`*^9, 3.765100087443925*^9}, {3.7653865322639866`*^9, + 3.7653865340311356`*^9}, {3.7748562895395265`*^9, 3.77485628999905*^9}, + 3.7748618642499804`*^9}, + ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.7651000790778112`*^9, + 3.765100080702778*^9}, {3.7653865380490265`*^9, 3.7653865624643803`*^9}, + 3.774856291577958*^9, 3.7748618642509794`*^9, {3.7753176502934604`*^9, + 3.775317651851361*^9}}, + ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "15", ",", "15", ",", "0", ",", + "37.7880757`9.329929664938739"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7651000962570324`*^9, 3.765386594754282*^9, + 3.76538691023928*^9, {3.7653869665779047`*^9, 3.765387006151044*^9}, + 3.774861290488532*^9, {3.7748618642509794`*^9, 3.7748618676217117`*^9}, + 3.7748628378510113`*^9}, + ExpressionUUID -> "9d107ea6-e9fe-41c6-a8e7-5bcedeab53a6"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862824750338*^9, 3.774862835795474*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"spn1", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "\[Equal]", "state"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763289864104106*^9, 3.763289897920729*^9}, { + 3.7635474793820314`*^9, 3.763547509099383*^9}, {3.765176052051984*^9, + 3.7651760911784735`*^9}, {3.765386969540123*^9, 3.7653869746931953`*^9}, { + 3.774856340135704*^9, 3.774856341714076*^9}, 3.7748618642509794`*^9}, + ExpressionUUID -> "3d8202ca-d0f5-49af-a79f-b899cac3e64e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, 3.7651039003541737`*^9, { + 3.7651759614596443`*^9, 3.7651760366289396`*^9}, {3.765176095975005*^9, + 3.7651760975217886`*^9}, 3.7653868967327237`*^9, {3.774856340612213*^9, + 3.774856358031646*^9}, 3.7748618642509794`*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{"stated", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7653869016535296`*^9, 3.7653869038928185`*^9}, + 3.77486186425198*^9, 3.7748628357964735`*^9}], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618642529783`*^9, 3.7748628357964735`*^9}, + ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ +\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ +\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,602,168,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628382695794`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,169,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838305542*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,602,170, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383325143`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,171,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383594866`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,602,172, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838387458*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,173,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838415429*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,602,174,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838442401*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"] +}, +WindowSize->{1050, 735}, +WindowMargins->{{Automatic, 322}, {Automatic, 118}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 702, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3129, 71, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3793, 86, 706, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4502, 98, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4784, 106, 404, 6, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5191, 114, 1753, 38, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6947, 154, 583, 11, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7533, 167, 188, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7724, 173, 977, 18, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8704, 193, 768, 14, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9475, 209, 2152, 35, 126, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11630, 246, 224, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11857, 252, 245, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[12117, 259, 6339, 89, 130, "Message"], +Cell[18459, 350, 1275, 20, 21, "Message"], +Cell[19737, 372, 1449, 23, 21, "Message"], +Cell[21189, 397, 1277, 20, 21, "Message"], +Cell[22469, 419, 1447, 23, 21, "Message"], +Cell[23919, 444, 1275, 20, 21, "Message"], +Cell[25197, 466, 1347, 21, 21, "Message"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg new file mode 100644 index 0000000..30d89f2 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml new file mode 100644 index 0000000..787a5d5 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp new file mode 100644 index 0000000..57d1cc8 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp @@ -0,0 +1,244 @@ +#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +//! +//! @file ActivityDiagramDecision.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:23:44 +//! @brief If selection for state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramDecision.nb*/ + +using namespace hopsan; + +class ActivityDiagramDecision : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event2; + double event3; + //outputVariables + //InitialExpressions variables + double oldEvent2; + double oldEvent3; + //Expressions variables + double dEvent2; + double dEvent3; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent2; + double *mpevent3; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramDecision(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event2","trigger on positive \ +flank","",0.,&mpevent2); + addInputVariable("event3","trigger on positive \ +flank","",0.,&mpevent3); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent2 = event2; + oldEvent3 = event3; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); + + //Preventing creation of extra token + double qpn20 = dEvent2*onPositive(spn1 - spn2); + double qpn30 = dEvent3*onPositive(spn1 - spn3); + bool successP1; + bool successP2; + bool successP3; + + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + + if(qpn20 > 0 || qpn30 > 0) { + successP1 = true; + //Try to lock P1 + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP1 = component->tryAndLockToken(); + } + } + } + //Try to lock P2 + if(qpn20 > 0) { + successP2 = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP2 = component->tryAndLockToken(); + } + } + } + //Try to lock P3 + if(qpn30 > 0) { + successP3 = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP3 = component->tryAndLockToken(); + } + } + } + if(qpn20 > 0 || qpn30 > 0) { + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successP1 && successP2) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent2*onPositive(spn1 - spn2); + } + if(successP1 && successP3) { + qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); + } + } + qpn1 = -onPositive(-0.5 + qpn2 + qpn3); + oldEvent2 = event2; + oldEvent3 = event3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb new file mode 100644 index 0000000..9bd576b --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb @@ -0,0 +1,746 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 40147, 738] +NotebookOptionsPosition[ 35550, 665] +NotebookOutlinePosition[ 35968, 681] +CellTagsIndexPosition[ 35925, 678] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[64]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + CellLabel->"In[65]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7839336026642847`*^9}, + CellLabel->"Out[65]=",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7839335960458083`*^9}, + CellLabel->"In[66]:=",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.783933602781729*^9}, + CellLabel->"Out[66]=",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[67]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Decision", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.755021377179763*^9, 3.7550213776352935`*^9}, {3.7551010992251368`*^9, + 3.7551011067453823`*^9}, {3.7552806950102434`*^9, 3.755280707559305*^9}, { + 3.7552808134950852`*^9, 3.755280835886998*^9}, 3.7571794848474817`*^9, { + 3.7653654640344186`*^9, 3.765365465561455*^9}, {3.7747937389060163`*^9, + 3.7747937761626363`*^9}, + 3.7747942097903123`*^9},ExpressionUUID->"579c246d-7234-4bbc-a83d-\ +653b42f152d9"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, + 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.755021382930831*^9, 3.7550214033397913`*^9}, { + 3.755101114360531*^9, 3.7551011191455984`*^9}, {3.755101168038189*^9, + 3.7551011721439543`*^9}, {3.755280720238233*^9, 3.7552807489446363`*^9}, { + 3.7552808264926853`*^9, 3.7552808399757824`*^9}, 3.757179487096159*^9, { + 3.7653654729463096`*^9, 3.7653654743850803`*^9}, {3.7747937498138437`*^9, + 3.7747937597243137`*^9}, 3.774794209791312*^9, 3.7753178059060497`*^9}, + CellLabel->"In[68]:=",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, + 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, + 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { + 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, + 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, + 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, + 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, + 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, + 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, + 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, + 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, + 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, + 3.775317823771299*^9, 3.7839336029684124`*^9}, + CellLabel->"Out[73]=",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "28", ",", "13", ",", "40", ",", + "2.8902734`8.21351390967783"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, + 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, + 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { + 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, + 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, + 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, + 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, + 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, + 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, + 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, + 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, + 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, + 3.775317823771299*^9, 3.7839336029684124`*^9}, + CellLabel->"Out[77]=",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7753178114071627`*^9, 3.7753178126798496`*^9}}, + CellLabel->"In[78]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "event2", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event3", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}]}], "\n", " ", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, {3.7550211707735662`*^9, 3.7550212091549945`*^9}, { + 3.7550213368433485`*^9, 3.755021361930483*^9}, {3.7551002377111077`*^9, + 3.755100273841857*^9}, {3.755100337895664*^9, 3.7551003437256527`*^9}, + 3.7551004328008165`*^9, {3.755100578582515*^9, 3.755100578669425*^9}, { + 3.7551014342164*^9, 3.7551014381583347`*^9}, {3.755101493431348*^9, + 3.755101495198529*^9}, {3.755101546333806*^9, 3.7551015485175548`*^9}, + 3.755280763360775*^9, {3.757179509086452*^9, 3.7571795220091095`*^9}, { + 3.757179560664197*^9, 3.7571795619668493`*^9}, 3.7747942097923093`*^9}, + CellLabel->"In[79]:=",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942097923093`*^9}, + CellLabel->"In[80]:=",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent2", "\[Equal]", "event2"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent3", "\[Equal]", "event3"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, + 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, + 3.7749722366624327`*^9}, + CellLabel->"In[81]:=",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent2", "==", + RowBox[{"onPositive", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent3", "==", + RowBox[{"onPositive", "[", + RowBox[{"event3", "-", + RowBox[{"diffevent", " ", "oldEvent3"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"dEvent3", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn3"}], "]"}], + RowBox[{"(", + RowBox[{"1", "-", "qpn2"}], ")"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{"-", + RowBox[{"onPositive", "[", + RowBox[{"qpn2", "+", "qpn3", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent3", "==", "event3"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.755021228933604*^9, + 3.755021278948039*^9}, {3.7550991045618577`*^9, 3.755099112472701*^9}, { + 3.755099168634801*^9, 3.7550992698544407`*^9}, {3.7550993152716155`*^9, + 3.755099358142417*^9}, {3.7550994059501266`*^9, 3.7550994196639867`*^9}, + 3.7550995178927135`*^9, 3.7551004381113434`*^9, 3.7551045016584373`*^9, { + 3.7552807682737083`*^9, 3.755280770768137*^9}, {3.757179542215247*^9, + 3.757179752373249*^9}, {3.7574378471313057`*^9, 3.757437865501336*^9}, + 3.757448097268563*^9, {3.7595689924690266`*^9, 3.759568992946535*^9}, { + 3.76320347871198*^9, 3.763203482457853*^9}, {3.7632045298557444`*^9, + 3.7632045309021263`*^9}, {3.763204981137596*^9, 3.7632049858229017`*^9}, { + 3.7655555913655677`*^9, 3.765555595465226*^9}, {3.774793862135045*^9, + 3.7747938673846397`*^9}, {3.7747939015294933`*^9, 3.7747939124081473`*^9}, + 3.7747942097923093`*^9}, + CellLabel->"In[82]:=",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.75509983772097*^9, 3.7550998382344413`*^9}, + 3.7747942097923093`*^9}, + CellLabel->"In[83]:=",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\ +ActivityDiagramDecision.hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755099839466172*^9, {3.7551002784451103`*^9, 3.755100291957179*^9}, + 3.7551003529920993`*^9, 3.7551004421621637`*^9, 3.7551004781310806`*^9, + 3.7551005858670053`*^9, 3.7551011329084063`*^9, 3.755101308363512*^9, { + 3.755101557911868*^9, 3.7551015773578196`*^9}, 3.755101758976097*^9, + 3.755104506123829*^9, 3.755283164925761*^9, 3.7571798146669254`*^9, { + 3.757437883899338*^9, 3.7574378898442*^9}, 3.7574481005791445`*^9, + 3.763203499779257*^9, 3.7632035734960213`*^9, 3.763204822587062*^9, + 3.7632050102229333`*^9, 3.7653658113939333`*^9, 3.7747942097933083`*^9, + 3.774795582508052*^9, 3.7748629664251757`*^9, 3.775317824124934*^9, + 3.7839336034559755`*^9}, + CellLabel->"Out[83]=",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942097933083`*^9}, + CellLabel->"In[84]:=",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramDecision\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"di\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ +\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ +\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,84,31,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933603848233*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,32,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336039082193`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 84,33,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041041718`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,34,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041281643`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,84,35,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933604148158*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,36,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041721535`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,84,37,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336042886777`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 84,38,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043043046`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,84,39,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043199244`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def"] +}, Open ]] +}, +WindowSize->{862, 669}, +WindowMargins->{{Automatic, 0}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 681, 13, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[1927, 53, 253, 3, 32, "Output",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], +Cell[2183, 58, 535, 11, 48, "Input",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2721, 71, 270, 3, 32, "Output",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], +Cell[CellGroupData[{ +Cell[3016, 78, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3318, 86, 697, 11, 67, "Section",ExpressionUUID->"579c246d-7234-4bbc-a83d-653b42f152d9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4018, 99, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4599, 112, 2053, 42, 200, "Input",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6655, 156, 1224, 17, 32, "Output",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7882, 175, 1289, 20, 32, "Output",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9174, 197, 1123, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10300, 220, 1641, 29, 86, "Input",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11944, 251, 487, 11, 67, "Input",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12434, 264, 601, 12, 86, "Input",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13038, 278, 2872, 54, 181, "Input",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15913, 334, 259, 4, 28, "Input",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16175, 340, 1021, 15, 52, "Output",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17199, 357, 241, 4, 28, "Input",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17443, 363, 6648, 98, 148, "Message",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24094, 463, 1356, 22, 21, "Message",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25453, 487, 1498, 24, 21, "Message",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26954, 513, 1356, 22, 21, "Message",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28313, 537, 1496, 25, 21, "Message",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29812, 564, 1356, 22, 21, "Message",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31171, 588, 1428, 23, 21, "Message",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[32602, 613, 1498, 24, 21, "Message",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[34103, 639, 1431, 23, 21, "Message",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg new file mode 100644 index 0000000..18ccd87 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml new file mode 100644 index 0000000..6169f85 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp new file mode 100644 index 0000000..54a700d --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp @@ -0,0 +1,242 @@ +#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +su +//! +//! @file ActivityDiagramDecision.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:23:44 +//! @brief If selection for state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramDecision.nb*/ + +using namespace hopsan; + +class ActivityDiagramDecision : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event2; + double event3; + //outputVariables + //InitialExpressions variables + double oldEvent2; + double oldEvent3; + //Expressions variables + double dEvent2; + double dEvent3; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent2; + double *mpevent3; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramDecision(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event2","trigger on positive \ +flank","",0.,&mpevent2); + addInputVariable("event3","trigger on positive \ +flank","",0.,&mpevent3); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent2 = event2; + oldEvent3 = event3; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); + + //Preventing creation of extra token + double qpn20 = dEvent2*onPositive(spn1 - spn2); + double qpn30 = dEvent3*onPositive(spn1 - spn3); + + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + + if(qpn20 > 0 || qpn30 > 0) { + bool successP1 = true; + //Try to lock P1 + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP1 = component->tryAndLockToken(); + } + } + } + //Try to lock P2 + if(qpn20 > 0) { + bool successP2 = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP2 = component->tryAndLockToken(); + } + } + } + //Try to lock P3 + if(qpn30 > 0) { + bool successP3 = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP3 = component->tryAndLockToken(); + } + } + } + if(qpn20 > 0 || qpn30 > 0) { + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successP1 && successP2) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent2*onPositive(spn1 - spn2); + } + if(successP1 && successP3) { + qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); + } + } + qpn1 = -onPositive(-0.5 + qpn2 + qpn3); + oldEvent2 = event2; + oldEvent3 = event3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp new file mode 100644 index 0000000..a43919f --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp @@ -0,0 +1,198 @@ +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +#include "ActivityDiagramActionN.hpp" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + + qpn1 = 0; + qpn2 = 0; + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + double drop = onPositive(-0.5 + spn1 - spn2); + if(dEvent > 0 && drop > 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb new file mode 100644 index 0000000..fbe5bb4 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb @@ -0,0 +1,738 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 36438, 730] +NotebookOptionsPosition[ 31015, 645] +NotebookOutlinePosition[ 31464, 662] +CellTagsIndexPosition[ 31421, 659] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[173]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel-> + "In[174]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, + 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, + 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, + 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, + 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, + 3.780138923762919*^9}, + CellLabel-> + "Out[174]=",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, + CellLabel-> + "In[175]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}}, + CellLabel-> + "Out[175]=",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { + 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, + CellLabel-> + "In[176]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, + 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, + 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, + 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, + 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, + 3.7801336300384307`*^9, 3.7801389239780316`*^9}, + CellLabel-> + "Out[176]=",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ +"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[196]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Edge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, + 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, + 3.774781001216793*^9}, {3.774861337479744*^9, + 3.774861338502689*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ +1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940389271574`*^9}, + 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { + 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { + 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, + 3.77478102110835*^9}, 3.7749717143792067`*^9}, + CellLabel-> + "In[197]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9}, + CellLabel-> + "Out[202]=",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "16", ",", "9", ",", "5", ",", + "34.9215023`9.29566781492157"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350214443`*^9}, + CellLabel-> + "Out[206]=",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, + CellLabel-> + "In[207]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}}, + CellLabel-> + "In[208]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272249647017`*^9, + 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, + 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, + CellLabel-> + "In[209]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, + CellLabel-> + "In[210]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell["\<\ +outputVariables = { + {dEvent, 0., double, \"\", \"state\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, + 3.7627280783297443`*^9, 3.7749718981811323`*^9, + 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ +f858f9817189"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", + RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, + CellLabel-> + "In[211]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { + 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, + 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, + 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, + 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { + 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, + 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { + 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { + 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, + 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { + 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, + 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { + 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9}, + CellLabel-> + "In[212]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7627280783307447`*^9}, + CellLabel-> + "In[213]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\ +\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,213, + 57,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,58,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356926794`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,213,59, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198335706673*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,60,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983358348913`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,213,61, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983358528805`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,62,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.78019833587187*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,213,63,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198335993745*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,213,64,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198336013734*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,213,65,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983360287256`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, + 3.774783253702371*^9}, + CellLabel-> + "In[214]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramEdge.\ +hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, + 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, + 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, + 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, + 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, + 3.780138926395756*^9, 3.780198336277796*^9}, + CellLabel-> + "Out[214]=",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222"] +}, Open ]] +}, +WindowSize->{932, 632}, +WindowMargins->{{0, Automatic}, {Automatic, 22}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 1235, 22, 55, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2473, 62, 899, 14, 36, "Output",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3375, 78, 766, 15, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4144, 95, 378, 6, 36, "Output",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4525, 103, 837, 16, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5365, 121, 938, 14, 36, "Output",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[6318, 138, 414, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], +Cell[CellGroupData[{ +Cell[6757, 151, 303, 7, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7063, 160, 483, 8, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7549, 170, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8117, 182, 1787, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9907, 223, 1370, 20, 36, "Output",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11280, 245, 1434, 23, 36, "Output",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12717, 270, 271, 6, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12991, 278, 875, 18, 99, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13869, 298, 908, 18, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14780, 318, 887, 17, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15670, 337, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16023, 348, 353, 8, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16379, 358, 2239, 40, 143, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18621, 400, 245, 5, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18869, 407, 3291, 51, 81, "Message",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22163, 460, 897, 17, 23, "Message",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23063, 479, 1067, 20, 23, "Message",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24133, 501, 897, 17, 23, "Message",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25033, 520, 1069, 20, 23, "Message",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26105, 542, 894, 17, 23, "Message",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27002, 561, 967, 18, 23, "Message",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27972, 581, 1037, 20, 23, "Message",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29012, 603, 972, 18, 23, "Message",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29987, 623, 264, 5, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30254, 630, 745, 12, 59, "Output",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg new file mode 100644 index 0000000..3e55820 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml new file mode 100644 index 0000000..93aa33a --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp new file mode 100644 index 0000000..c36652e --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp @@ -0,0 +1,164 @@ +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp new file mode 100644 index 0000000..a43919f --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp @@ -0,0 +1,198 @@ +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +#include "ActivityDiagramActionN.hpp" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + + qpn1 = 0; + qpn2 = 0; + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + double drop = onPositive(-0.5 + spn1 - spn2); + if(dEvent > 0 && drop > 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp new file mode 100644 index 0000000..632d02c --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp @@ -0,0 +1,145 @@ +#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED +#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFinal.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 27 Nov 2019 13:11:18 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFinal.nb*/ + +using namespace hopsan; + +class ActivityDiagramFinal : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFinal(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn1 = -(dEvent*onPositive(-0.5 + spn1)); + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFINAL_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb new file mode 100644 index 0000000..bcdf9f3 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb @@ -0,0 +1,720 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 37398, 712] +NotebookOptionsPosition[ 32152, 628] +NotebookOutlinePosition[ 32601, 645] +CellTagsIndexPosition[ 32558, 642] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[40]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel->"In[41]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, + 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, + 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, + 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, + 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, + 3.780138923762919*^9, 3.7838454778730965`*^9}, + CellLabel->"Out[41]=",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, + CellLabel->"In[42]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}, + 3.7838454779706993`*^9}, + CellLabel->"Out[42]=",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { + 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, + CellLabel->"In[43]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, + 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, + 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, + 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, + 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, + 3.7801336300384307`*^9, 3.7801389239780316`*^9, 3.7838454780727134`*^9}, + CellLabel->"Out[43]=",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellLabel->"In[44]:=",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7838454781824636`*^9}, + CellLabel->"Out[44]=",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[45]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Final", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, + 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, + 3.774781001216793*^9}, {3.774861337479744*^9, 3.774861338502689*^9}, { + 3.7838454562700553`*^9, + 3.78384545691061*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ +1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940389271574`*^9}, + 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { + 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { + 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, + 3.77478102110835*^9}, 3.7749717143792067`*^9, {3.783845452706601*^9, + 3.7838454535346675`*^9}}, + CellLabel->"In[46]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478355116*^9}, + CellLabel->"Out[51]=",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "27", ",", "13", ",", "11", ",", + "18.2740075`9.014408738882913"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478360263*^9}, + CellLabel->"Out[55]=",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, + CellLabel->"In[56]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, 3.783845382014352*^9}, + CellLabel->"In[57]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272249647017`*^9, + 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, + 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, + CellLabel->"In[58]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, + CellLabel->"In[59]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell["\<\ +outputVariables = { + {dEvent, 0., double, \"\", \"state\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, + 3.7627280783297443`*^9, 3.7749718981811323`*^9, + 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ +f858f9817189"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", + RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, + CellLabel->"In[60]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { + 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, + 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, + 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, + 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { + 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, + 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { + 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { + 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, + 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { + 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, + 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { + 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9, { + 3.783845393127009*^9, 3.7838454104907365`*^9}}, + CellLabel->"In[61]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7627280783307447`*^9}, + CellLabel->"In[62]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"A\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"l\\\\\\\"\ +\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,62, + 24,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478774294*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,25,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478833149*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,62,26,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789400873`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,27,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.78384547895208*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,62,28,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789620743`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,29,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789750695`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,62,30,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478995056*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, + 3.774783253702371*^9}, + CellLabel->"In[63]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramFinal.\ +hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, + 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, + 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, + 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, + 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, + 3.780138926395756*^9, 3.780198336277796*^9, 3.783845479208876*^9}, + CellLabel->"Out[63]=",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd"] +}, Open ]] +}, +WindowSize->{1008, 709}, +WindowMargins->{{0, Automatic}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1231, 21, 32, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2465, 60, 919, 13, 36, "Output",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3387, 75, 762, 14, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4152, 91, 402, 6, 36, "Output",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4557, 99, 833, 15, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5393, 116, 958, 13, 36, "Output",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[6388, 134, 436, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], +Cell[6827, 145, 272, 3, 36, "Output",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] +}, Open ]], +Cell[CellGroupData[{ +Cell[7136, 153, 299, 6, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7438, 161, 535, 9, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7976, 172, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8544, 184, 1836, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10383, 225, 1388, 19, 36, "Output",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11774, 246, 1455, 22, 36, "Output",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13232, 270, 267, 5, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13502, 277, 726, 13, 77, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14231, 292, 904, 17, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15138, 311, 883, 16, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16024, 329, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16377, 340, 349, 7, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16729, 349, 2203, 38, 121, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18935, 389, 241, 4, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19179, 395, 6046, 90, 119, "Message",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25228, 487, 917, 17, 23, "Message",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26148, 506, 1061, 20, 23, "Message",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27212, 528, 916, 17, 23, "Message",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28131, 547, 1061, 20, 23, "Message",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29195, 569, 919, 17, 23, "Message",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30117, 588, 989, 18, 23, "Message",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31109, 608, 260, 4, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31372, 614, 764, 11, 36, "Output",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg new file mode 100644 index 0000000..c498595 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml new file mode 100644 index 0000000..0fe7488 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp new file mode 100644 index 0000000..71bbcb1 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp @@ -0,0 +1,127 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramFinal.hpp +//! @author Petter Krus +//! @date 2018-12-31 +//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson +//! @brief Contains a Electric Volume Component +//! + +#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED +#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A ActivityDiagram final state component + //! @ingroup ActivityDiagram + //! + class ActivityDiagramFinal : public ComponentC + { + + private: + double state; + double *mpAlpha; + double *mpstate; +// double capacitance; + + std::vector mvpN_s; + std::vector mvp_S0; + size_t mNumPorts; + Port *mpPpn1; + + public: + static Component *Creator() + { + return new ActivityDiagramFinal(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); + addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); + addOutputVariable("state","State activated","",0.,&mpstate); + } + + + void initialize() + { + double alpha; + double state; + alpha = (*mpAlpha); + + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvp_S0.resize(mNumPorts); + + for (size_t i=0; i. + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramFinalNode.hpp +//! @author Petter Krus +// co-author/auditor Robert Braun, Emilia Villani +//! @date 2019-08-15 +//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson +//! @brief Contains a Electric Volume Component +//! + +#ifndef ACTIVITYDIAGRAMFINALNODE_HPP_INCLUDED +#define ACTIVITYDIAGRAMFINALNODE_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A StateMachine state component + //! @ingroup StateMachine + //! + class ActivityDiagramFinalNode : public ComponentC + { + + private: + double state; + double *mpAlpha; + double *mpstate; +// double capacitance; + + std::vector mvpN_s, mvpN_q; + std::vector mvp_S0; + size_t mNumPorts; + Port *mpPpn1; + + public: + static Component *Creator() + { + return new ActivityDiagramFinalNode(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); +// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); + addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); + addOutputVariable("state","State activated","",0.,&mpstate); + } + + + void initialize() + { + double alpha; + double state; + alpha = (*mpAlpha); + + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvpN_q.resize(mNumPorts); + mvp_S0.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml new file mode 100644 index 0000000..acf0bde --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp new file mode 100644 index 0000000..80ab2cd --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp @@ -0,0 +1,228 @@ +#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFork.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 13 Nov 2019 16:14:51 +//! @brief Fork for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ + +using namespace hopsan; + +class ActivityDiagramFork : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + double qpn10; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFork(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + //Preventing creation of extra token + double drop = onPositive(-0.5 + spn1 - spn2 - spn3); + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + //if(dEvent > 0 && drop > 0) { + if(qpn10 < 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + successDownstream = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = -qpn10; + qpn3 = -qpn10; + qpn1 = qpn10; + } + } + oldEvent = event; + /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb new file mode 100644 index 0000000..f3bd405 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb @@ -0,0 +1,599 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 30428, 591] +NotebookOptionsPosition[ 26705, 533] +NotebookOutlinePosition[ 27124, 549] +CellTagsIndexPosition[ 27081, 546] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[61]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9, 3.7627287106739197`*^9, {3.7653655281709204`*^9, + 3.7653655397771883`*^9}, {3.774863771563929*^9, 3.7748637782681117`*^9}, + 3.774863822282749*^9, 3.7826467657097054`*^9}, + CellLabel->"In[63]:=",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7653656647449336`*^9, 3.7653658264367056`*^9, 3.7653658794497952`*^9, + 3.7654310624811687`*^9, 3.7654312190637693`*^9, 3.774863782789399*^9, { + 3.774863822282749*^9, 3.7748638255252094`*^9}, 3.774863903001707*^9, + 3.774863987619404*^9, 3.7753178495516796`*^9, 3.782646735725585*^9, + 3.7826467716284*^9, 3.782646889210889*^9, 3.7826523908287973`*^9}, + CellLabel->"Out[63]=",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.783933562698448*^9},ExpressionUUID->"d4124b2a-ea86-4434-bcf9-\ +b213164ffac7"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[64]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Fork", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7552829602158165`*^9, 3.7552829636462793`*^9}, {3.7653652937303224`*^9, + 3.7653652948741436`*^9}, 3.7747951051283193`*^9, + 3.774861352550853*^9},ExpressionUUID->"e530ed89-c702-4a63-ba9a-\ +2addaa99d206"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, + 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7552811322054944`*^9, 3.755281141404011*^9}, { + 3.76536529882735*^9, 3.7653653147948*^9}, 3.7747951068994923`*^9, + 3.774861352550853*^9, 3.77531784181115*^9, 3.783842808838291*^9, + 3.783843119461669*^9},ExpressionUUID->"66226cc4-c34c-490e-8628-\ +63aa4715d8a0"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, + 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, + 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, + 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, + 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, + 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, + 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, + 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, + 3.782652391913143*^9}, + CellLabel->"Out[70]=",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "13", ",", "17", ",", "46", ",", + "31.7112596`9.25378839754705"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, + 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, + 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, + 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, + 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, + 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, + 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, + 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, + 3.7826523919391284`*^9}, + CellLabel->"Out[74]=",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748639779539723`*^9, 3.774863984865543*^9}}, + CellLabel->"In[75]:=",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7748638812026606`*^9, 3.774863885385459*^9}, {3.7838431361781645`*^9, + 3.783843149997116*^9}},ExpressionUUID->"2096f5b3-005e-4e58-a8bb-\ +ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\n", " ", + RowBox[{"{", + RowBox[{ + "event", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], "\n", " ", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7550214607545958`*^9, {3.765431186087635*^9, + 3.765431200241627*^9}, 3.774861352550853*^9}, + CellLabel->"In[77]:=",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774861352550853*^9, 3.7826468701107273`*^9}, + CellLabel->"In[78]:=",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7643433362447524`*^9, + 3.7643433574496603`*^9}, {3.7747951683414693`*^9, 3.774795202078376*^9}, + 3.7748613525528517`*^9, 3.774863901313697*^9, {3.7826466491704607`*^9, + 3.7826466742648764`*^9}}, + CellLabel->"In[79]:=",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774861352553851*^9, 3.774863901313697*^9}, + CellLabel->"In[80]:=",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Act\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"Fork\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]\\) is \ +not a list of contents. The third item in an XMLElement must be a list of \ +contents, even if it is an empty list.\"",2,80,33,19006202694589510913, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.7826523976370525`*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,34,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652398229714*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 80,35,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652398750414*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,36,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652399246129*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,80,37,19006202694589510913, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.78265239952297*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,38,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652399823799*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,80,39,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400312519*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 80,40,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400580365*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,80,41,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400856207*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] +}, +WindowSize->{1008, 709}, +WindowMargins->{{0, Automatic}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1443, 23, 48, "Input",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2677, 62, 668, 9, 32, "Output",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3348, 73, 514, 12, 48, "Input",ExpressionUUID->"d4124b2a-ea86-4434-bcf9-b213164ffac7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3865, 87, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4167, 95, 487, 8, 67, "Section",ExpressionUUID->"e530ed89-c702-4a63-ba9a-2addaa99d206", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4657, 105, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5238, 118, 1802, 39, 200, "Input",ExpressionUUID->"66226cc4-c34c-490e-8628-63aa4715d8a0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7043, 159, 903, 13, 32, "Output",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7949, 174, 971, 16, 32, "Output",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8923, 192, 269, 5, 28, "Input",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9195, 199, 1151, 22, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10349, 223, 932, 17, 67, "Input",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11284, 242, 509, 11, 67, "Input",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11796, 255, 1785, 36, 143, "Input",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13584, 293, 261, 4, 28, "Input",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[13860, 300, 4621, 70, 77, "Message",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], +Cell[18484, 372, 953, 17, 21, "Message",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], +Cell[19440, 391, 1095, 19, 21, "Message",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], +Cell[20538, 412, 953, 17, 21, "Message",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], +Cell[21494, 431, 1094, 20, 21, "Message",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], +Cell[22591, 453, 953, 17, 21, "Message",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], +Cell[23547, 472, 1025, 18, 21, "Message",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], +Cell[24575, 492, 1095, 19, 21, "Message",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], +Cell[25673, 513, 1028, 18, 21, "Message",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg new file mode 100644 index 0000000..5694951 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml new file mode 100644 index 0000000..8b5f308 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp new file mode 100644 index 0000000..0f3904a --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp @@ -0,0 +1,228 @@ +#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFork.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 13 Nov 2019 16:14:51 +//! @brief Fork for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ + +using namespace hopsan; + +class ActivityDiagramFork : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + double qpn10; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFork(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + //Preventing creation of extra token + double drop = onPositive(-0.5 + spn1 - spn2 - spn3); + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + //if(dEvent > 0 && drop > 0) { + if(qpn10 < 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + successDownstream = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp new file mode 100644 index 0000000..9281c86 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp @@ -0,0 +1,178 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramForkN.hpp +//! @author Petter Krus +//! @date 2018-12-31 +//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson +//! @brief Contains a multi in join Component +//! + +#ifndef ACTIVITYDIAGRAMFORKN_HPP_INCLUDED +#define ACTIVITYDIAGRAMFORKN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A ActivityDiagram FORK multi port component + //! @ingroup ActivityDiagram + //! + class ActivityDiagramForkN : public ComponentQ + { + + private: + double diffevent; + double event; + double state; + double oldState; + double oldEvent; + + std::vector mvpN_s, mvpN_q; + std::vector mvp_S0; + size_t mNumPorts; + Port *mpPpn1; + Port *mpPpn2; + + //Port Ppn2 variable + double s2; + double q2; + + //Port Ppn2 pointer + double *mpP_s2; + double *mpP_q2; + + //inputVariables pointers + double *mpevent; + + //inputParameters pointers + double *mpdiffevent; + + //outputVariables pointers + double *mpstate; + + public: + static Component *Creator() + { + return new ActivityDiagramForkN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", "", 0.,&mpdiffevent); + + //Add outputVariables to the component + addOutputVariable("state","state","",0.,&mpstate); + + } + + void initialize() + { + //Port Ppn1 + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvpN_q.resize(mNumPorts); + mvp_S0.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp new file mode 100644 index 0000000..9cb0e0b --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp @@ -0,0 +1,144 @@ +#ifndef ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED +#define ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramInitiateState.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 17 Oct 2019 19:22:27 +//! @brief Initialization for a Activity Diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramInitiateState.nb*/ + +using namespace hopsan; + +class ActivityDiagramInitiateState : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramInitiateState(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "event (trigg on positive flank)", \ +"", 1.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = 0.; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + qpn1 = onPositive(-0.5 + event - diffEvent*oldEvent - spn1); + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb new file mode 100644 index 0000000..98c1bd4 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb @@ -0,0 +1,568 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 28067, 560] +NotebookOptionsPosition[ 24247, 500] +NotebookOutlinePosition[ 24668, 516] +CellTagsIndexPosition[ 24625, 513] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[289]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, 3.7748679214756083`*^9}, + CellLabel-> + "In[290]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.77479556374086*^9, + 3.7748613834299583`*^9, 3.7748619371199417`*^9, 3.7748642131804657`*^9, + 3.7748645633975315`*^9, {3.7748645970573945`*^9, 3.774864607918788*^9}, + 3.774867703652725*^9, 3.774867926791222*^9, 3.774892832598035*^9, + 3.775317869629486*^9, 3.7803136766181493`*^9}, + CellLabel-> + "Out[290]=",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.780313242636645*^9}, + CellLabel-> + "In[291]:=",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.780313676730456*^9, 3.780322390417487*^9}, + CellLabel-> + "Out[291]=",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[310]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Initiate", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.754047538282405*^9, + 3.754047549959265*^9}, {3.7552832968927016`*^9, 3.7552832972033815`*^9}, { + 3.7554173810299163`*^9, 3.755417381886033*^9}, 3.7747954639963675`*^9, + 3.774861381726017*^9, 3.77486191225311*^9, + 3.7803133814542294`*^9},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or -1). The flow is either 0 or one in one time \ +step. The vawe variables cel1 and cel2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, + 3.7554173947018223`*^9, + 3.774861381726017*^9},ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-\ +50747d0f7dcb"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7540475704265985`*^9, + 3.754047583132675*^9}, {3.755283262173503*^9, 3.755283264773819*^9}, { + 3.755417376704378*^9, 3.75541737766938*^9}, {3.755417462599818*^9, + 3.755417466808478*^9}, 3.774795466549244*^9, 3.7748613817270155`*^9, { + 3.774861919274185*^9, 3.7748619298823028`*^9}, {3.774892217455916*^9, + 3.7748922180483685`*^9}}, + CellLabel-> + "In[311]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, + 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, + 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, + 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { + 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, + 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, + 3.780313676948842*^9, 3.780321747089079*^9}, + CellLabel-> + "Out[316]=",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "17", ",", "19", ",", "22", ",", + "27.0890793`9.185369160057958"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, + 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, + 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, + 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { + 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, + 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, + 3.780313676948842*^9, 3.7803217471047015`*^9}, + CellLabel-> + "Out[320]=",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748642032354603`*^9, 3.7748642103278923`*^9}}, + CellLabel-> + "In[321]:=",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "1.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.75404759400323*^9, + 3.7540477190914407`*^9, 3.7553242534686055`*^9, 3.7748613817270155`*^9, + 3.77486769495127*^9, 3.7748928260322795`*^9, {3.7803134756519003`*^9, + 3.7803134759010286`*^9}}, + CellLabel-> + "In[322]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.780313538092991*^9, 3.7803135406627865`*^9}, { + 3.780313660202917*^9, 3.780313667247159*^9}}, + CellLabel-> + "In[323]:=",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7803136602039175`*^9, 3.780313667247159*^9}}, + CellLabel-> + "In[324]:=",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "oldEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7554635581691155`*^9, 3.7554636200383286`*^9}, + 3.7748613817270155`*^9, {3.7803136602039175`*^9, 3.7803136672481318`*^9}}, + CellLabel-> + "In[325]:=",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn1", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", " ", "oldEvent"}], "-", "spn1", "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "\[Equal]", "event"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.7540475984872904`*^9, 3.7540476129458995`*^9}, { + 3.7540476910155144`*^9, 3.754047691685115*^9}, 3.7554173893183746`*^9, + 3.7554174592942257`*^9, {3.7554635125221767`*^9, 3.755463526263009*^9}, + 3.7747954957200775`*^9, {3.774795527795559*^9, 3.7747955286187067`*^9}, + 3.7748613817270155`*^9, {3.774864588216931*^9, 3.774864591940977*^9}, { + 3.78031356706925*^9, 3.780313572399868*^9}, {3.7803136602059264`*^9, + 3.7803136672481318`*^9}, {3.780321712750452*^9, 3.780321722472545*^9}}, + CellLabel-> + "In[326]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7748613817290125`*^9, 3.7748646059877806`*^9, {3.7803136602059264`*^9, + 3.7803136672481318`*^9}}, + CellLabel-> + "In[327]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,327, + 105,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217478282585`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,106,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748046993*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,327,107,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217480626173`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,108,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217480938644`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,327,109,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748265729*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,110,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748281352*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,327,111,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217482969747`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] +}, +WindowSize->{1191, 801}, +WindowMargins->{{Automatic, 50}, {Automatic, 18}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 657, 13, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1895, 53, 928, 14, 32, "Output",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2826, 69, 537, 12, 28, "Input",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3366, 83, 351, 5, 32, "Output",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3720, 90, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4026, 99, 562, 9, 67, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4591, 110, 473, 9, 56, "Text",ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-50747d0f7dcb", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5067, 121, 1932, 42, 200, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7002, 165, 780, 12, 32, "Output",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7785, 179, 849, 15, 32, "Output",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8637, 196, 275, 6, 28, "Input",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8915, 204, 776, 15, 67, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9694, 221, 559, 13, 67, "Input",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10256, 236, 515, 12, 67, "Input",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10774, 250, 587, 13, 67, "Input",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11364, 265, 1523, 27, 86, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12890, 294, 326, 7, 28, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[13231, 304, 5844, 85, 112, "Message",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], +Cell[19078, 391, 798, 15, 21, "Message",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], +Cell[19879, 408, 942, 18, 21, "Message",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], +Cell[20824, 428, 800, 15, 21, "Message",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], +Cell[21627, 445, 940, 18, 21, "Message",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], +Cell[22570, 465, 798, 15, 21, "Message",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], +Cell[23371, 482, 872, 16, 21, "Message",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg new file mode 100644 index 0000000..582bec6 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml new file mode 100644 index 0000000..213ddd0 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp new file mode 100644 index 0000000..f238d31 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp @@ -0,0 +1,181 @@ +#ifndef ACTIVITYDIAGRAMJOIN_HPP_INCLUDED +#define ACTIVITYDIAGRAMJOIN_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramJoin.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 27 Nov 2019 12:38:02 +//! @brief And for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin.nb*/ + +using namespace hopsan; + +class ActivityDiagramJoin : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent3; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramJoin(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on \ +value)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "event3, trigg on level(0) or \ +flank(1)", "", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent3 = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn3 = onPositive(event)*onPositive(-0.5 + spn1*spn2 - spn3); + qpn1 = -qpn3; + qpn2 = -qpn3; + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMJOIN_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb new file mode 100644 index 0000000..63304f2 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb @@ -0,0 +1,661 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 34515, 653] +NotebookOptionsPosition[ 30159, 583] +NotebookOutlinePosition[ 30580, 599] +CellTagsIndexPosition[ 30537, 596] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[20]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel->"In[21]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, + 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, + 3.7760688056377096`*^9, 3.7760689017746077`*^9, 3.776070944721018*^9, + 3.7760710374873853`*^9, 3.776071235541223*^9, 3.783843343493267*^9, + 3.783843481153901*^9}, + CellLabel->"Out[21]=",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + CellLabel->"In[22]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7838434814297028`*^9}, + CellLabel->"Out[22]=",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}, + 3.783843477517951*^9}, + CellLabel->"In[23]:=",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, + 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, + 3.7760688056656814`*^9, 3.7760689018006496`*^9, 3.776070944758975*^9, + 3.7760710375243483`*^9, 3.776071235580185*^9, 3.783843343561288*^9, + 3.783843481583459*^9}, + CellLabel->"Out[23]=",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[24]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Join", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, + 3.7552808064463525`*^9}, {3.7552808483581448`*^9, + 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { + 3.7747942042782946`*^9, + 3.774794220390111*^9}},ExpressionUUID->"088c7a70-e175-477e-9f3a-\ +655c7cd3370d"], + +Cell["\<\ +Join (AND) function. The flow is either 0 or one in one time step. The wave \ +variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { + 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, + 3.776068777840438*^9}},ExpressionUUID->"6f15cb33-9e39-488c-92cb-\ +ee7ba955af67"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "coauthor", "=", + "\"\, Emilia Villani\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550215020570135`*^9, + 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { + 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, + 3.77479422293149*^9}, 3.775317780594391*^9, 3.777541563880372*^9}, + CellLabel->"In[25]:=",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "27", ",", "12", ",", "38", ",", + "1.7487194`7.995295114488466"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068805716628*^9, + 3.776068901851528*^9, 3.776070944831899*^9, 3.776071037595276*^9, + 3.7760712356561046`*^9, 3.7838433436544056`*^9, 3.783843481879754*^9}, + CellLabel->"Out[34]=",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7775415451696653`*^9, 3.777541546479336*^9}}, + CellLabel->"In[35]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", " ", "double", ",", "\"\<\>\"", ",", " ", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { + 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, + 3.7760703432387514`*^9}, {3.7760708301710997`*^9, + 3.7760708408820567`*^9}, {3.777541777142488*^9, 3.777541778549036*^9}, { + 3.7775420129573493`*^9, 3.777542016173033*^9}, {3.7838431937936945`*^9, + 3.7838432010782948`*^9}, 3.78384324873831*^9, 3.783843325635455*^9}, + CellLabel->"In[36]:=",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.7760708823393207`*^9, 3.776070932245875*^9}}, + CellLabel->"In[37]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent3", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{ + RowBox[{"onPositive", "[", "event", "]"}], + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, + 3.7550317139985056`*^9}, {3.7643431906677704`*^9, + 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, + 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { + 3.7760686995462093`*^9, 3.7760687190331187`*^9}, {3.7760703616637583`*^9, + 3.7760703689012976`*^9}, {3.776070858269133*^9, 3.7760708754684024`*^9}, + 3.7760710313776875`*^9, {3.776071229952984*^9, 3.77607123253732*^9}, { + 3.7838432101168375`*^9, 3.78384323494664*^9}}, + CellLabel->"In[38]:=",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942042813015`*^9}, + CellLabel->"In[39]:=",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\ +\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ +\\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\ +\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,39,15,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434831797385`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,16,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434832734795`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 39,17,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434835859594`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,18,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434836328306`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,39,19,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839296846`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,20,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839765563`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,39,21,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484007804*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 39,22,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434840390525`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,39,23,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484398402*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0"] +}, Open ]] +}, +WindowSize->{827, 636}, +WindowMargins->{{262, Automatic}, {Automatic, 47}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1231, 21, 48, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2465, 60, 890, 13, 32, "Output",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3358, 75, 819, 15, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[4192, 93, 270, 3, 32, "Output",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], +Cell[CellGroupData[{ +Cell[4487, 100, 862, 16, 48, "Input",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5352, 118, 918, 13, 32, "Output",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6273, 133, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6575, 141, 595, 10, 67, "Section",ExpressionUUID->"088c7a70-e175-477e-9f3a-655c7cd3370d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7173, 153, 504, 9, 34, "Text",ExpressionUUID->"6f15cb33-9e39-488c-92cb-ee7ba955af67", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7680, 164, 1878, 41, 200, "Input",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9561, 207, 937, 15, 32, "Output",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10501, 224, 1121, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11625, 247, 1235, 21, 67, "Input",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12863, 270, 941, 17, 67, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13807, 289, 2054, 39, 143, "Input",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15864, 330, 241, 4, 28, "Input",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16108, 336, 5130, 75, 130, "Message",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[21241, 413, 1039, 18, 21, "Message",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22283, 433, 1181, 20, 21, "Message",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23467, 455, 1039, 18, 21, "Message",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24509, 475, 1181, 21, 21, "Message",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25693, 498, 1039, 18, 21, "Message",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26735, 518, 1109, 19, 21, "Message",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27847, 539, 1181, 20, 21, "Message",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29031, 561, 1112, 19, 21, "Message",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg new file mode 100644 index 0000000..b28474c --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml new file mode 100644 index 0000000..da6236e --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp new file mode 100644 index 0000000..f80b60c --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp @@ -0,0 +1,165 @@ +#ifndef ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED +#define ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramJoin0.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 29 Aug 2019 14:48:02 +//! @brief And for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin0.nb*/ + +using namespace hopsan; + +class ActivityDiagramJoin0 : public ComponentQ +{ +private: + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramJoin0(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + qpn3 = onPositive(-0.5 + spn1*spn2 - spn3); + qpn1 = -qpn3; + qpn2 = -qpn3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb new file mode 100644 index 0000000..91f5597 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb @@ -0,0 +1,726 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 37541, 718] +NotebookOptionsPosition[ 34350, 643] +NotebookOutlinePosition[ 34778, 659] +CellTagsIndexPosition[ 34735, 656] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, + 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, + 3.776068537628119*^9, 3.776068854606236*^9, 3.7760688870627756`*^9, + 3.7760712654763637`*^9, 3.776071318759997*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, + 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, + 3.7760685376510963`*^9, 3.776068854630206*^9, 3.776068887090747*^9, + 3.7760712655133266`*^9, 3.7760713187989573`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Join", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, + 3.7552808064463525`*^9}, {3.7552808483581448`*^9, + 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { + 3.7747942042782946`*^9, 3.774794220390111*^9}}, + ExpressionUUID -> "088c7a70-e175-477e-9f3a-655c7cd3370d"], + +Cell["\<\ +Join (AND) function. The flow is either 0 or one in one time step. The wave \ +variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { + 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, + 3.776068777840438*^9}}, + ExpressionUUID -> "6f15cb33-9e39-488c-92cb-ee7ba955af67"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550215020570135`*^9, + 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { + 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, + 3.77479422293149*^9}, 3.775317780594391*^9, 3.7760685292677374`*^9}, + ExpressionUUID -> "9335b084-863b-47bb-bc84-c039b71d3a5b"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, + 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, + 3.776071318870884*^9}, + ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "29", ",", "14", ",", "41", ",", + "58.8419153`9.522261631502142"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, + 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, + 3.776071318874879*^9}, + ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell["\<\ +inputVariables = { + {event3, 1., double, \"event3 (trigg on value )\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { + 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, + 3.7760703432387514`*^9}, {3.7760708301710997`*^9, 3.7760708408820567`*^9}, + 3.7760712575515366`*^9, 3.7760713073891582`*^9}, + ExpressionUUID -> "2cb343b4-4a02-4069-b70f-d2246ecff4f8"], + +Cell["\<\ +inputParameters = { + {diffEvent, 0., double, \"\", \"event3, trigg on level(0) or flank(1)\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.7760708823393207`*^9, 3.776070932245875*^9}, 3.7760713073891582`*^9}, + ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{"-", "qpn3"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, + 3.7550317139985056`*^9}, {3.7643431906677704`*^9, + 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, + 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { + 3.7760711621119175`*^9, 3.7760711710417137`*^9}, {3.7760713129034986`*^9, + 3.7760713150632772`*^9}, 3.7760716703887568`*^9}, + ExpressionUUID -> "5c2a5e25-e670-491c-933e-302886292168"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942042813015`*^9}, + ExpressionUUID -> "91b365df-e70c-494b-bfc9-f2101325390a"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,141, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319029719*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,142, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713190656815`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,143, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713190946517`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ +\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,254,144,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319123622*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramJoin0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ +\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"me\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\ +\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ +\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,254,145,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319149595*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,146,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713191805625`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 254,147,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319207535*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,148,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319233508*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,254,149,16172176550883650673, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713192584825`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,150,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713192844553`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,254,151,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319310429*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 254,152,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713193374023`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,254,153,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319361377*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"] +}, Open ]] +}, +WindowSize->{1224, 632}, +WindowMargins->{{Automatic, 236}, {Automatic, 138}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 820, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3247, 73, 799, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4049, 90, 848, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4900, 104, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5182, 112, 593, 9, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5778, 123, 506, 9, 30, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6287, 134, 1838, 39, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8128, 175, 807, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8938, 189, 873, 15, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9814, 206, 1049, 20, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10866, 228, 866, 15, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11735, 245, 755, 13, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12493, 260, 1543, 29, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14039, 291, 221, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14263, 297, 1520, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15786, 323, 1522, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17311, 349, 1522, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18836, 375, 1018, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19857, 394, 6272, 93, 95, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26132, 489, 952, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27087, 507, 1092, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28182, 527, 950, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29135, 545, 1094, 19, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30232, 566, 952, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31187, 584, 1022, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[32212, 603, 1094, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[33309, 623, 1025, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg new file mode 100644 index 0000000..2d2e778 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml new file mode 100644 index 0000000..d34bed0 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg new file mode 100644 index 0000000..12dbb87 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp new file mode 100644 index 0000000..2aa05fc --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp @@ -0,0 +1,129 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramANDmulti.hpp +//! @author Petter Krus +//! @date 2018-12-31 +//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson +//! @brief Contains a multi in join Component +//! + +#ifndef ACTIVITYDIAGRAMJOINN_HPP_INCLUDED +#define ACTIVITYDIAGRAMJOINN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A ActivityDiagram AND multi port component + //! @ingroup ActivityDiagram + //! + class ActivityDiagramJoinN : public ComponentQ + { + + private: + std::vector mvpN_s, mvpN_q; + size_t mNumPorts; + Port *mpPpn1; + Port *mpPpn2; + + //Port Ppn2 variable + double s2; + double q2; + //inputVariables + double event3; + //Expressions variables + double dEvent3; + double oldEvent3; + + //Port Ppn2 pointer + double *mpP_s2; + double *mpP_q2; + //inputVariables pointers + double *mpevent3; + //inputParameters pointers + double *mpdiffEvent; + + + public: + static Component *Creator() + { + return new ActivityDiagramJoinN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + } + + void initialize() + { + //Port Ppn1 + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvpN_q.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc new file mode 100644 index 0000000..0ad5867 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc @@ -0,0 +1,51 @@ +#include +#include "ComponentEssentials.h" +#include "ActivityDiagram/ActivityDiagramInitiateState.hpp" +#include "ActivityDiagram/ActivityDiagramEdge.hpp" +#include "ActivityDiagram/ActivityDiagramAction.hpp" +#include "ActivityDiagram/ActivityDiagramActionN.hpp" +#include "ActivityDiagram/ActivityDiagramDecision.hpp" +#include "ActivityDiagram/ActivityDiagramForkN.hpp" +#include "ActivityDiagram/ActivityDiagramJoinN.hpp" +#include "ActivityDiagram/ActivityDiagramMergeN.hpp" +#include "ActivityDiagram/ActivityDiagramFork.hpp" +#include "ActivityDiagram/ActivityDiagramJoin0.hpp" +#include "ActivityDiagram/ActivityDiagramJoin.hpp" +#include "ActivityDiagram/ActivityDiagramMerge0.hpp" +#include "ActivityDiagram/ActivityDiagramMerge.hpp" +#include "ActivityDiagram/ActivityDiagramMergeN.hpp" +#include "ActivityDiagram/ActivityDiagramFinal.hpp" +#include "ActivityDiagram/ActivityDiagramFinalNode.hpp" + +using namespace hopsan; + +extern "C" DLLEXPORT void register_contents(ComponentFactory* pComponentFactory, NodeFactory* pNodeFactory) +{ + //Register Components + pComponentFactory->registerCreatorFunction("ActivityDiagramInitiateState", ActivityDiagramInitiateState::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramEdge", ActivityDiagramEdge::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramAction", ActivityDiagramAction::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramActionN", ActivityDiagramActionN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramDecision", ActivityDiagramDecision::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramForkN", ActivityDiagramForkN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoinN", ActivityDiagramJoinN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFork", ActivityDiagramFork::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoin0", ActivityDiagramJoin0::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoin", ActivityDiagramJoin::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMerge0", ActivityDiagramMerge0::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMerge", ActivityDiagramMerge::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFinal", ActivityDiagramFinal::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFinalNode", ActivityDiagramFinalNode::Creator); + + //Register custom nodes (if any) + HOPSAN_UNUSED(pNodeFactory); +} + +extern "C" DLLEXPORT void get_hopsan_info(HopsanExternalLibInfoT *pHopsanExternalLibInfo) +{ + pHopsanExternalLibInfo->hopsanCoreVersion = (char*)HOPSANCOREVERSION; + pHopsanExternalLibInfo->libCompiledDebugRelease = (char*)DEBUGRELEASECOMPILED; + pHopsanExternalLibInfo->libName = (char*)"ActivityDiagramLibrary"; +} diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro new file mode 100644 index 0000000..ced8036 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro @@ -0,0 +1,50 @@ +# QT -= core gui, means that we should not link the default qt libs into the component +# Template = lib, means that we want to build a library (.dll or .so) +QT -= core gui +TEMPLATE = lib + +# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) +# Change this to the name of YOUR lib +TARGET = devTestLib + +# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build +DESTDIR = $${PWD}/ + +# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files +# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. +# *= Means append unique +INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ + +# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library +LIBS *= -L$${PWD}/../../../bin + +# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so +# In debug mode HopsanCore has the debug extension _d +include(hopsanDebugReleaseCompile.prf) + +# ------------------------------------------------- +# Project files +# ------------------------------------------------- +SOURCES += \ + TestLib.cc + +HEADERS += \ + ActivityDiagram/ActivityDiagramInitiateState.hpp + ActivityDiagram/ActivityDiagramEdge.hpp + ActivityDiagram/ActivityDiagramActionN.hpp + ActivityDiagram/ActivityDiagramAction.hpp + ActivityDiagram/ActivityDiagramDecision.hpp + ActivityDiagram/ActivityDiagramJoinN.hpp + ActivityDiagram/ActivityDiagramForkN.hpp + ActivityDiagram/ActivityDiagramJoin0.hpp + ActivityDiagram/ActivityDiagramJoin.hpp + ActivityDiagram/ActivityDiagramFork.hpp + ActivityDiagram/ActivityDiagramMerge0.hpp + ActivityDiagram/ActivityDiagramMerge.hpp + ActivityDiagram/ActivityDiagramMergeN.hpp + ActivityDiagram/ActivityDiagramFinal.hpp + ActivityDiagram/ActivityDiagramFinalNode.hpp + + +OTHER_FILES += \ + hopsanDebugReleaseCompile.prf diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml new file mode 100644 index 0000000..5e3932f --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml @@ -0,0 +1,42 @@ + + + afd1b9b5-0b66-4d17-9e90-1da59a2be242 + ActivityDiagramLibrary + + -std=c++11 + + ActivityDiagramLibrary + ActivityDiagramLib.cc + + ActivityDiagram/ActivityDiagramInitiateState.hpp + ActivityDiagram/ActivityDiagramEdge.hpp + ActivityDiagram/ActivityDiagramAction.hpp + ActivityDiagram/ActivityDiagramActionN.hpp + ActivityDiagram/ActivityDiagramDecision.hpp + ActivityDiagram/ActivityDiagramForkN.hpp + ActivityDiagram/ActivityDiagramJoinN.hpp + ActivityDiagram/ActivityDiagramMergeN.hpp + ActivityDiagram/ActivityDiagramFork.hpp + ActivityDiagram/ActivityDiagramJoin0.hpp + ActivityDiagram/ActivityDiagramJoin.hpp + ActivityDiagram/ActivityDiagramMerge0.hpp + ActivityDiagram/ActivityDiagramMerge.hpp + ActivityDiagram/ActivityDiagramFinal.hpp + ActivityDiagram/ActivityDiagramFinalNode.hpp + + ActivityDiagram/ActivityDiagramInitiateState.xml + ActivityDiagram/ActivityDiagramActionN.xml + ActivityDiagram/ActivityDiagramAction.xml + ActivityDiagram/ActivityDiagramDecision.xml + ActivityDiagram/ActivityDiagramEdge.xml + ActivityDiagram/ActivityDiagramFinalNode.xml + ActivityDiagram/ActivityDiagramFinal.xml + ActivityDiagram/ActivityDiagramForkN.xml + ActivityDiagram/ActivityDiagramFork.xml + ActivityDiagram/ActivityDiagramJoin0.xml + ActivityDiagram/ActivityDiagramJoinN.xml + ActivityDiagram/ActivityDiagramJoin.xml + ActivityDiagram/ActivityDiagramMerge0.xml + ActivityDiagram/ActivityDiagramMergeN.xml + ActivityDiagram/ActivityDiagramMerge.xml + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll new file mode 100644 index 0000000000000000000000000000000000000000..2739df9062652a5e11303ff6609696bbb653aa38 GIT binary patch literal 275329 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 Q_QD}_y zN~{ycu+_%Nf_Sd=3=XQB-dgipRuxUUIya73u&Rn|a(H&RMONm9B8^$3+ZXfg7HamY zJgIH*9-)lto0U}UPcAO{2Mb5;H5Wh_83UAE^9X<;pf?)}3X6-w%<)2KP zO5PBRD(QNqgU?DrzG*>CLO*>2Hzy?WE+2Y5JHD@+ zUd?AcLg>_M?+wsDOyNmpFkh8;C-lw8GQ9FEtM;h?vTl6na=Y8wVSA?@GpgKj!)yoz zu^w{9)(v%dqL2mqy*EbV8`&OCbRi6K=6-oNz?ZZMmoL*!yX@u@c3W+)D(|DVuZ$p_ z%_X+3o7skUb|=BP6DnepQV z-_-TX^byz&F`WdJ>W>}3I4K?X^2(A9+r0kl&VaJ?fbO^zJTg+$31XQNtzmldX|H80 z^U&ldvgd0469wF9`U}_-s5^H4N^W7ShUO!tnh1J4W?Mg*tk087i&0>1R!v~JlN*bx z>>;r7e=DcN3hr^YM#dqxVtkH^1ufcuwlSb$H*YKoVWEOk>F=HBB`x%T-t4KX)=KR( tohaOi!jHGd`Xb3UeYtSGn}I0D7hri)sqoH<9zn8YK?Gr1xdn$c{y(0c=V1T< literal 0 HcmV?d00001 diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.hpp new file mode 100644 index 0000000..670462d --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.hpp @@ -0,0 +1,195 @@ +#ifndef ACTIVITYDIAGRAMMERGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 29 Aug 2019 14:30:46 +//! @brief Merge with triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramMerge.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event1; + double event2; + //outputVariables + //InitialExpressions variables + double oldEvent1; + double oldEvent2; + //Expressions variables + double dEvent1; + double dEvent2; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent1; + double *mpevent2; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event1","event 1 ","",1.,&mpevent1); + addInputVariable("event2","event 2 ","",1.,&mpevent2); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent1 = event1; + oldEvent2 = event2; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent1 = onPositive(-0.5 + event1 - diffevent*oldEvent1); + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + qpn1 = -(dEvent1*onPositive(-0.5 + spn1 - spn3)); + qpn2 = -(dEvent2*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2 - \ +spn3)); + qpn3 = onPositive(-0.5 + onPositive(-0.5 - qpn1) + onPositive(-0.5 - \ +qpn2)); + oldEvent1 = event1; + oldEvent2 = event2; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb new file mode 100644 index 0000000..ff0a3a7 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb @@ -0,0 +1,821 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 42264, 813] +NotebookOptionsPosition[ 39039, 737] +NotebookOutlinePosition[ 39496, 754] +CellTagsIndexPosition[ 39453, 751] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.7747986777531595`*^9, 3.774798837507168*^9, 3.7748614276997967`*^9, + 3.7748619672501326`*^9, {3.7748622394111714`*^9, 3.774862251182107*^9}, + 3.7748623403373017`*^9, 3.7754917893881674`*^9, 3.776070646525416*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7747986777851257`*^9, 3.774798837541133*^9, 3.7748614277577357`*^9, + 3.7748619673110695`*^9, {3.774862239477104*^9, 3.774862251248041*^9}, + 3.774862340403417*^9, 3.7754917894141517`*^9, 3.7760706465633698`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, 3.7552829554537253`*^9}, + 3.755372579530821*^9, {3.765365387482224*^9, 3.7653653881771164`*^9}, + 3.7747983306164637`*^9, 3.7747986736373167`*^9, 3.7754917486163588`*^9}, + ExpressionUUID -> "9d4f453e-9c72-4000-9122-ecf47f5aa6af"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, 3.755372577184243*^9, + 3.76536539267952*^9, {3.774798658558407*^9, 3.7747986736373167`*^9}, + 3.7753177220186896`*^9, {3.7754917480639286`*^9, 3.775491774528488*^9}}, + ExpressionUUID -> "d8e297df-a6c2-45e1-bbf9-562a2f6f4d24"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.7760706466322966`*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "29", ",", "14", ",", "30", ",", + "46.6033273`9.420991788461784"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.776070646638291*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "event1", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event2", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, {3.7553334050165496`*^9, + 3.7553334446716647`*^9}, {3.7627026686193905`*^9, 3.762702670838029*^9}, { + 3.7627027196525707`*^9, 3.7627027226382403`*^9}, {3.762728482505171*^9, + 3.7627284849986467`*^9}, 3.774798673638316*^9}, + ExpressionUUID -> "f073027b-0651-4a76-8093-b13b81390d0b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.762728501412943*^9, 3.7627285128314185`*^9}, { + 3.7627285870617857`*^9, 3.762728591136469*^9}, 3.7747986736393175`*^9}, + ExpressionUUID -> "526a0e78-dfa9-4844-8861-722896780dba"], + +Cell[BoxData[ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, + 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, { + 3.7655560740431547`*^9, 3.7655560873095894`*^9}}, + ExpressionUUID -> "c21e7961-5a84-45f3-af61-b43c2481c92c"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7655559532852836`*^9, 3.7655560954859285`*^9, 3.765954365574082*^9, + 3.765954400227334*^9, 3.7659545129450517`*^9, 3.76595457686611*^9, + 3.765954945457864*^9, 3.765955176309712*^9, 3.765979013076853*^9, + 3.7659791492833395`*^9, 3.7659792908183327`*^9, {3.7747986736393175`*^9, + 3.774798677972932*^9}, 3.7747988377319365`*^9, 3.7748614280806327`*^9, + 3.774861967682685*^9, {3.774862239871213*^9, 3.774862251628648*^9}, + 3.774862340780019*^9, 3.7754917895629864`*^9, 3.7760706467781477`*^9}, + ExpressionUUID -> "01c870b8-aaba-4716-af93-eff1bce22607"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"onPositive", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"onPositive", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}], " ", "-", "0.5"}], "]"}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"dEvent1", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn3", "-", "0.5"}], "]"}]}], "+", " ", + RowBox[{"dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "spn3", "-", "0.5"}], "]"}]}], "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.774798378062895*^9, 3.774798386262143*^9}, + 3.7747984458280263`*^9, {3.7747985315413647`*^9, 3.774798534616194*^9}, + 3.7747986736393175`*^9, {3.7760704479443293`*^9, 3.7760704713202305`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"gez", "[", "x_", "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "-", "0.5"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"not", "[", "x_", "]"}], ":=", + RowBox[{"gez", "[", + RowBox[{"1", "-", "x"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"or", "[", + RowBox[{"x1_", ",", "x2_"}], "]"}], ":=", " ", + RowBox[{"gez", "[", " ", + RowBox[{ + RowBox[{"gez", "[", "x1", "]"}], "+", " ", + RowBox[{"gez", "[", "x2", "]"}]}], "]"}]}], ";"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7659535016962757`*^9, 3.765953537227621*^9}, { + 3.765953591698428*^9, 3.765953633491314*^9}, {3.7659537776016474`*^9, + 3.7659539171926427`*^9}, {3.7659541480864477`*^9, 3.765954159366811*^9}, { + 3.765954190309889*^9, 3.7659541911090636`*^9}, {3.765954243895609*^9, + 3.765954287252881*^9}, {3.7659543284363947`*^9, 3.765954333668998*^9}, + 3.765955249245471*^9, {3.7659788223116503`*^9, 3.7659788600786896`*^9}, { + 3.7659789102459354`*^9, 3.7659789340304003`*^9}, {3.7659792402524962`*^9, + 3.7659792413014126`*^9}, {3.7747984022434483`*^9, 3.774798423106389*^9}, { + 3.774798465435588*^9, 3.7747984916353693`*^9}, {3.7747985356591177`*^9, + 3.774798567507405*^9}, {3.774798608475299*^9, 3.774798613738011*^9}, + 3.774798673640315*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"gez", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}]}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"gez", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}]}], " ", "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent1"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn1", "-", "spn3"}], "]"}]}]}], " ", ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent2"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn2", "-", "spn3"}], "]"}], " ", + RowBox[{"not", "[", + RowBox[{"-", "qpn1"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"or", "[", + RowBox[{ + RowBox[{"-", "qpn1"}], ",", + RowBox[{"-", "qpn2"}]}], "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.7659539527299805`*^9, + 3.7659539580474944`*^9}, {3.765953990560954*^9, 3.7659541210473413`*^9}, { + 3.765954203223567*^9, 3.765954204038726*^9}, {3.7659543947419925`*^9, + 3.7659543959437532`*^9}, {3.765954499150284*^9, 3.765954508435705*^9}, { + 3.7659545709552073`*^9, 3.765954573578501*^9}, 3.7659551706705313`*^9, { + 3.765978868000518*^9, 3.765978893848853*^9}, {3.765978938256042*^9, + 3.765978977975065*^9}, {3.7659791387911654`*^9, 3.76597914548526*^9}, { + 3.7659792427329383`*^9, 3.76597925615609*^9}, {3.774798467247336*^9, + 3.774798502673746*^9}, {3.774798579462903*^9, 3.774798600630599*^9}, + 3.774798638403225*^9, 3.774798673640315*^9, {3.7760705201826525`*^9, + 3.7760705288696933`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774798673640315*^9}, + ExpressionUUID -> "c36604a9-382b-4358-abaf-68df6f6c8e9a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,161, + 83,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469609585`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,84,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469969215`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,85,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470238934`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,86,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470488677`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,161,87,16172176550883650673, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470748405`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,88,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470998144`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,161,89,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471257877`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,90,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471517615`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,161,91,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.776070647181732*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"] +}, Open ]] +}, +WindowSize->{912, 700}, +WindowMargins->{{452, Automatic}, {122, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 111, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 852, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3279, 73, 799, 15, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4081, 90, 874, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4958, 104, 279, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5240, 112, 636, 9, 78, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5879, 123, 576, 10, 53, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6458, 135, 1935, 41, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8396, 178, 1212, 17, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9611, 197, 1276, 20, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10890, 219, 1049, 20, 122, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11942, 241, 1257, 24, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13202, 267, 567, 12, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13772, 281, 584, 11, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14359, 294, 807, 14, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15169, 310, 2975, 57, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18147, 369, 1425, 30, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19575, 401, 3349, 64, 210, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22927, 467, 219, 4, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23149, 473, 4623, 68, 138, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27775, 543, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29110, 566, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30587, 591, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31922, 614, 1474, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[33399, 640, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[34734, 663, 1404, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[36141, 687, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[37618, 712, 1405, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg new file mode 100644 index 0000000..5616b90 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml new file mode 100644 index 0000000..737e1a6 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp new file mode 100644 index 0000000..0528c7e --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp @@ -0,0 +1,165 @@ +#ifndef ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge0.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 22 Aug 2019 21:43:02 +//! @brief Merge without triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramMerge0.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge0 : public ComponentQ +{ +private: + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge0(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + qpn3 = onPositive(spn1 + spn2 - spn3); + qpn1 = -(qpn3*onPositive(-0.5 + spn1)); + qpn2 = -(qpn3*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2)); + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb new file mode 100644 index 0000000..0d97066 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb @@ -0,0 +1,624 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 32492, 616] +NotebookOptionsPosition[ 29781, 551] +NotebookOutlinePosition[ 30208, 567] +CellTagsIndexPosition[ 30165, 564] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795572931881*^9, + 3.774795612385293*^9, 3.774861408366062*^9, 3.7748619624159155`*^9, + 3.7748622245843167`*^9, 3.7748640394382243`*^9, 3.7753177662699428`*^9, + 3.775491732568901*^9, 3.775491782033749*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955729948483`*^9, + 3.774795612450227*^9, 3.7748614084190083`*^9, 3.7748619624768515`*^9, + 3.7748622246482515`*^9, 3.7748640395161448`*^9, 3.7753177663398657`*^9, + 3.7754917325888805`*^9, 3.7754917820577235`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, + 3.7552829554537253`*^9}, {3.7653654200584526`*^9, 3.765365420761336*^9}, + 3.7747952519978476`*^9, 3.7747955692027297`*^9}, + ExpressionUUID -> "8e539398-d59d-4346-99c7-62ce8cde8c74"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, {3.765365424137388*^9, + 3.7653654247616515`*^9}, 3.7747952541435413`*^9, 3.7747955692037344`*^9, { + 3.7753177325159492`*^9, 3.7753177417951164`*^9}, {3.77549167539384*^9, + 3.7754917209458838`*^9}, {3.7754917778650465`*^9, 3.775491778104801*^9}}, + ExpressionUUID -> "63192a21-eff5-4a32-ab06-93bd62a509b1"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782103677*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "22", ",", "21", ",", "43", ",", + "2.0866932`8.07203358449933"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782108671*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7748638812026606`*^9, 3.774863885385459*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell["\<\ +inputParameters = { + {event, 0.1, double, \"\", \"event (trigg on positive flank)\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, 3.7747955692037344`*^9}, + ExpressionUUID -> "6004a690-5f87-4437-a4d9-05a7963088b8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "+", "spn2", "-", "spn3"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}], + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "0.5"}], "]"}]}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.76269520463138*^9, 3.7626952378702517`*^9}, {3.7626953144143944`*^9, + 3.762695317976671*^9}, {3.7626961113142395`*^9, 3.762696124434898*^9}, { + 3.76276650333788*^9, 3.762766514206193*^9}, 3.762766805898405*^9, { + 3.7747952829010906`*^9, 3.7747952918124933`*^9}, {3.7747953437341003`*^9, + 3.7747953526869335`*^9}, 3.7747955692047253`*^9}, + ExpressionUUID -> "9bddbe6b-0b0f-498d-854c-260e582893fd"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747955692047253`*^9}, + ExpressionUUID -> "1bf4c767-539e-4196-9557-c11f2e50fda5"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,34,10,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917822165594`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,11,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782257517*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,12,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.77549178228449*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,13,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823094635`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,34,14,16171631835219174289, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823354373`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,15,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782363408*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,34,16,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823893814`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,17,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782416353*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,34,18,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917824433255`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"] +}, Open ]] +}, +WindowSize->{1234, 716}, +WindowMargins->{{193, Automatic}, {56, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 824, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3251, 73, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3915, 88, 837, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4755, 102, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5037, 110, 590, 9, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5630, 121, 576, 10, 49, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6209, 133, 2024, 43, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8236, 178, 860, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9099, 192, 924, 15, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10026, 209, 1101, 21, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11130, 232, 672, 12, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11805, 246, 1985, 38, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13793, 286, 221, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14017, 292, 7128, 103, 113, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[21148, 397, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22153, 415, 1143, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23299, 435, 1004, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24306, 453, 1146, 19, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25455, 474, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26460, 492, 1076, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27539, 511, 1144, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28686, 531, 1079, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg new file mode 100644 index 0000000..53e9506 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml new file mode 100644 index 0000000..8602cad --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp new file mode 100644 index 0000000..4b5ba16 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp @@ -0,0 +1,130 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramMergeN.hpp +//! @author Petter Krus +//! @date 2018-12-31 +//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson +//! @brief Contains a multi in join Component +//! + +#ifndef ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A StateMchine AND multi port component + //! @ingroup StateMachine + //! + class ActivityDiagramMergeN : public ComponentQ + { + + private: + std::vector mvpN_q, mvpN_s; + size_t mNumPorts; + Port *mpPpn1; + Port *mpPpn2; + + //Port Ppn2 variable + double q2; + double s2; + + //Port Ppn2 pointer + double *mpP_q2; + double *mpP_s2; + + public: + static Component *Creator() + { + return new ActivityDiagramMergeN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + } + + + void initialize() + { + //Port Ppn1 + mNumPorts = mpPpn1->getNumPorts(); + mvpN_q.resize(mNumPorts); + mvpN_s.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml new file mode 100644 index 0000000..07100ae --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg b/ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg new file mode 100644 index 0000000..7fd70f1 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg b/ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg new file mode 100644 index 0000000..539ad0c --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/compile.bat b/ActivityDiagrams/ActivityDiagram/compile.bat new file mode 100644 index 0000000..dd8cc13 --- /dev/null +++ b/ActivityDiagrams/ActivityDiagram/compile.bat @@ -0,0 +1,7 @@ +@echo off +set PATH=C:/Program Files/Hopsan214/mingw64/bin;%PATH% +@echo on +if exist ActivityDiagramLibrary.dll ( + del ActivityDiagramLibrary.dll +) +g++ -I"C:/Program Files/Hopsan214/HopsanCore/include" -fPIC -w -Wl,--rpath,"H:/PettersDropbox/Dropbox/HopsanComponents/ActivityDiagramLibrary" -DHOPSAN_BUILD_TYPE_RELEASE -std=c++11 ActivityDiagramLib.cc -L"C:/Program Files/Hopsan214/bin" -L"C:/Program Files/Hopsan214/lib" -lhopsancore -shared -o ActivityDiagramLibrary.dll diff --git a/ActivityDiagrams/Exempel/ADcylinder.hmf b/ActivityDiagrams/Exempel/ADcylinder.hmf new file mode 100644 index 0000000..635a085 --- /dev/null +++ b/ActivityDiagrams/Exempel/ADcylinder.hmf @@ -0,0 +1,5292 @@ + + + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + diff --git a/ActivityDiagrams/Exempel/ActivityDiagramTest.hmf b/ActivityDiagrams/Exempel/ActivityDiagramTest.hmf new file mode 100644 index 0000000..72f3727 --- /dev/null +++ b/ActivityDiagrams/Exempel/ActivityDiagramTest.hmf @@ -0,0 +1,8397 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticCompressor.svg b/devPneumatic/PneumaticComponents/PneumaticCompressor.svg new file mode 100644 index 0000000..d3c4773 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticCompressor.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticExhaust.hpp b/devPneumatic/PneumaticComponents/PneumaticExhaust.hpp new file mode 100644 index 0000000..2201578 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticExhaust.hpp @@ -0,0 +1,159 @@ +#ifndef PNEUMATICEXHAUST_HPP_INCLUDED +#define PNEUMATICEXHAUST_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticExhaust.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 28 Jul 2020 19:02:51 +//! @brief Exhaust to ambient air +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticExhaust.nb*/ + +using namespace hopsan; + +class PneumaticExhaust : public ComponentC +{ +private: + Port *mpP1; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; +//==This code has been autogenerated using Compgen== + //inputVariables + double p0; + double T0; + //outputVariables + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpp0; + double *mpT0; + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticExhaust(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("p0","Pressure","Pa",100000.,&mpp0); + addInputVariable("T0","Input temperature","K",293.,&mpT0); + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + + //Read inputVariables from nodes + p0 = (*mpp0); + T0 = (*mpT0); + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + dE1 = (*mpP_dE1); + + //Read inputVariables from nodes + p0 = (*mpp0); + T0 = (*mpT0); + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + c1 = p0; + T1 = T0; + Zc1 = 0.; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port P1 + (*mpP_T1)=T1; + (*mpP_c1)=c1; + (*mpP_Zc1)=Zc1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICEXHAUST_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticExhaust.nb b/devPneumatic/PneumaticComponents/PneumaticExhaust.nb new file mode 100644 index 0000000..41097aa --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticExhaust.nb @@ -0,0 +1,596 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 30454, 588] +NotebookOptionsPosition[ 28697, 533] +NotebookOutlinePosition[ 29350, 555] +CellTagsIndexPosition[ 29307, 552] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Exhaust", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { + 3.8049422173232346`*^9, 3.804942220674777*^9}}, + ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.804242834707038*^9, 3.804242875430032*^9, + 3.804406806214493*^9, 3.8044068860835514`*^9, 3.8048706919958982`*^9, + 3.8048708156023965`*^9, 3.8049204063398457`*^9, 3.8049423161163273`*^9, + 3.8049430084277253`*^9, {3.8049430428502183`*^9, 3.804943086458237*^9}, + 3.804944571220646*^9}, + ExpressionUUID -> "d143c3c0-252e-4229-a3ec-61cbc0e88cef"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8048708156393595`*^9, 3.8049204063837996`*^9, 3.8049423161672754`*^9, + 3.804943008485664*^9, {3.804943042898168*^9, 3.8049430865061865`*^9}, + 3.8049445712765884`*^9}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.8049421893950415`*^9, 3.804942209842949*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "28", ",", "19", ",", "2", ",", + "51.2875773`9.462587034594664"}], "}"}]], "Output", + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, 3.8049423162162237`*^9, + 3.8049430085356135`*^9, {3.804943042947118*^9, 3.8049430865671225`*^9}, + 3.804944571328534*^9}, + ExpressionUUID -> "aa6f4f45-bf37-4268-85ba-d1117d8dded6"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"p0", "=."}], ";", + RowBox[{"T0", "=."}], ";", + RowBox[{"Zc1", "=."}], ";"}]], "Input", + CellChangeTimes->{{3.8049422460935555`*^9, 3.8049422609472346`*^9}, { + 3.80494299434525*^9, 3.804942997204302*^9}, 3.8049430837570224`*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "293.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.804942099979274*^9, 3.8049421534511175`*^9}, {3.804942236025941*^9, + 3.8049422391377306`*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PneumaticCnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.804942088899703*^9, + 3.8049420899236465`*^9}, 3.804944559280962*^9}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection", + ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"c1", "\[Equal]", "p0"}], ",", "\[IndentingNewLine]", + RowBox[{"T1", "\[Equal]", "T0"}], ",", "\[IndentingNewLine]", + RowBox[{"Zc1", "\[Equal]", "0."}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.804870613309064*^9, 3.8048706633414555`*^9, {3.804941709304257*^9, + 3.8049417911847982`*^9}, {3.804941848960205*^9, 3.804941922326524*^9}, { + 3.8049419636129365`*^9, 3.8049419756045685`*^9}, {3.8049420136283455`*^9, + 3.804942023779874*^9}, {3.804942272410411*^9, 3.8049422751535807`*^9}, { + 3.804943034998318*^9, 3.804943062045418*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ +\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,227, + 112,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445717211304`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,113,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445717800694`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,227,114,16364522693655586838, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445718070416`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,115,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571834014*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,227,116, + 16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571864981*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,227,117,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445718939514`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,227,118,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.804944571919925*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,227,119, + 16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445719488955`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,227,120,16364522693655586838,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { + 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, + 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, + 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, + 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, + 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { + 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, + 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, + 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, + 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, + 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, + 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, + 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, + 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, + 3.8049445719758673`*^9}, + ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1152, 737}, +WindowMargins->{{282, Automatic}, {43, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 282, 4, 70, "Section"], +Cell[864, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[1244, 38, 484, 11, 30, "Input"], +Cell[1731, 51, 981, 14, 30, "Output"] +}, Open ]], +Cell[2727, 68, 766, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3496, 84, 332, 5, 30, "Output"], +Cell[CellGroupData[{ +Cell[3853, 93, 1438, 31, 183, "Input"], +Cell[5294, 126, 1273, 20, 30, "Output"] +}, Open ]], +Cell[6582, 149, 268, 6, 30, "Input"], +Cell[6853, 157, 857, 19, 88, "Input"], +Cell[7713, 178, 793, 14, 69, "Input"], +Cell[CellGroupData[{ +Cell[8531, 196, 92, 1, 49, "Subsection"], +Cell[8626, 199, 146, 2, 30, "Text"], +Cell[8775, 203, 777, 15, 107, "Input"], +Cell[CellGroupData[{ +Cell[9577, 222, 122, 2, 30, "Input"], +Cell[9702, 226, 7488, 107, 130, "Message"], +Cell[17193, 335, 1352, 21, 21, "Message"], +Cell[18548, 358, 1494, 24, 21, "Message"], +Cell[20045, 384, 1350, 21, 21, "Message"], +Cell[21398, 407, 1522, 24, 21, "Message"], +Cell[22923, 433, 1352, 21, 21, "Message"], +Cell[24278, 456, 1422, 22, 21, "Message"], +Cell[25703, 480, 1524, 24, 21, "Message"], +Cell[27230, 506, 1427, 22, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticComponents/PneumaticExhaust.svg b/devPneumatic/PneumaticComponents/PneumaticExhaust.svg new file mode 100644 index 0000000..8b4d112 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticExhaust.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticExhaust.xml b/devPneumatic/PneumaticComponents/PneumaticExhaust.xml new file mode 100644 index 0000000..54cf625 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticExhaust.xml @@ -0,0 +1,18 @@ + + + + + + + + + PneumaticExhaust + PneumaticExhaust.nb + PneumaticExhaust.pdf + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticPistonMass.svg b/devPneumatic/PneumaticComponents/PneumaticPistonMass.svg new file mode 100644 index 0000000..9b87a3c --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticPistonMass.svg @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticPistonSASpringMass.svg b/devPneumatic/PneumaticComponents/PneumaticPistonSASpringMass.svg new file mode 100644 index 0000000..56adbe0 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticPistonSASpringMass.svg @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticPsourceM.svg b/devPneumatic/PneumaticComponents/PneumaticPsourceM.svg new file mode 100644 index 0000000..e236c05 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticPsourceM.svg @@ -0,0 +1,93 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticRestrictor.hpp b/devPneumatic/PneumaticComponents/PneumaticRestrictor.hpp new file mode 100644 index 0000000..9f950a0 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticRestrictor.hpp @@ -0,0 +1,421 @@ +#ifndef PNEUMATICRESTRICTOR_HPP_INCLUDED +#define PNEUMATICRESTRICTOR_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticRestrictor.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:48:14 +//! @brief Pneumatic restrictor +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticRestrictor.nb*/ + +using namespace hopsan; + +class PneumaticRestrictor : public ComponentQ +{ +private: + double Bf; + double Cf; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[7]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double qmP; + double qmN; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqmP; + double *mpqmN; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticRestrictor(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(7,7); + systemEquations.create(7); + delayedPart.create(8,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ +0.528,&mpBf); + addInputVariable("Cf", "C, ISO flow coefficient", "", \ +1.e-14,&mpCf); + addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); + addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); + addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); + addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); + //Add outputVariables to the component + addOutputVariable("qmP","Internal variable","kg/s",0.,&mpqmP); + addOutputVariable("qmN","Internal variable","kg/s",0.,&mpqmN); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,7); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port P1 + mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); + mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); + mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); + mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); + mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); + mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); + //Port P2 + mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); + mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); + mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); + mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); + mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); + mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); + + //Read variables from nodes + //Port P1 + p1 = (*mpP_p1); + qm1 = (*mpP_qm1); + T1 = (*mpP_T1); + dE1 = (*mpP_dE1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + p2 = (*mpP_p2); + qm2 = (*mpP_qm2); + T2 = (*mpP_T2); + dE2 = (*mpP_dE2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //Read outputVariables from nodes + qmP = (*mpqmP); + qmN = (*mpqmN); + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + cp = cv + R; + + //Initialize delays + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(7); + Vec stateVark(7); + Vec deltaStateVar(7); + + //Read variables from nodes + //Port P1 + T1 = (*mpP_T1); + c1 = (*mpP_c1); + Zc1 = (*mpP_Zc1); + //Port P2 + T2 = (*mpP_T2); + c2 = (*mpP_c2); + Zc2 = (*mpP_Zc2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + Bf = (*mpBf); + Cf = (*mpCf); + p0 = (*mpp0); + T0 = (*mpT0); + R = (*mpR); + cv = (*mpcv); + eps = (*mpeps); + + //LocalExpressions + cp = cv + R; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = qmP; + stateVark[1] = qmN; + stateVark[2] = qm2; + stateVark[3] = dE1; + stateVark[4] = dE2; + stateVark[5] = p1; + stateVark[6] = p2; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //Restrictor + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =qmP - Cf*p0*p1*Sqrt(T0/T1)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[1] =qmN - Cf*p0*p2*Sqrt(T0/T2)*(onNegative(-Bf + \ +p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + systemEquations[2] =qm2 + qmN*onNegative(p1 - p2) - \ +qmP*onPositive(p1 - p2); + systemEquations[3] =dE1 + cp*qm2*(T1*onNegative(-qm2) + \ +T2*onPositive(-qm2)); + systemEquations[4] =dE2 - cp*qm2*(T2*onNegative(qm2) + \ +T1*onPositive(qm2)); + systemEquations[5] =-c1 + p1 - dE1*Zc1; + systemEquations[6] =-c2 + p2 - dE2*Zc2; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = 0; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[0][4] = 0; + jacobianMatrix[0][5] = -(Cf*p0*p1*Sqrt(T0/T1)*((-2*(p1 - \ +Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ +Cf*p0*Sqrt(T0/T1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ +onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ +p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ +p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[0][6] = -(Cf*p0*p1*Sqrt(T0/T1)*(((2*Bf*(p1 - \ +Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ +(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); + jacobianMatrix[1][0] = 0; + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = 0; + jacobianMatrix[1][3] = 0; + jacobianMatrix[1][4] = 0; + jacobianMatrix[1][5] = -(Cf*p0*p2*Sqrt(T0/T2)*((-2*(p1 - \ +Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ +p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ +Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ +Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); + jacobianMatrix[1][6] = -(Cf*p0*p2*Sqrt(T0/T2)*(((2*Bf*(p1 - \ +Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ +Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ +(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ +Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ +p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - Cf*p0*Sqrt(T0/T2)*(onNegative(-Bf \ ++ p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ +onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ ++ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ +p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ +Bf,2)*Power(p2,2)),eps)); + jacobianMatrix[2][0] = -onPositive(p1 - p2); + jacobianMatrix[2][1] = onNegative(p1 - p2); + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[2][5] = 0; + jacobianMatrix[2][6] = 0; + jacobianMatrix[3][0] = 0; + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = cp*(T1*onNegative(-qm2) + \ +T2*onPositive(-qm2)); + jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[3][5] = 0; + jacobianMatrix[3][6] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = -(cp*(T2*onNegative(qm2) + \ +T1*onPositive(qm2))); + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; + jacobianMatrix[4][5] = 0; + jacobianMatrix[4][6] = 0; + jacobianMatrix[5][0] = 0; + jacobianMatrix[5][1] = 0; + jacobianMatrix[5][2] = 0; + jacobianMatrix[5][3] = -Zc1; + jacobianMatrix[5][4] = 0; + jacobianMatrix[5][5] = 1; + jacobianMatrix[5][6] = 0; + jacobianMatrix[6][0] = 0; + jacobianMatrix[6][1] = 0; + jacobianMatrix[6][2] = 0; + jacobianMatrix[6][3] = 0; + jacobianMatrix[6][4] = -Zc2; + jacobianMatrix[6][5] = 0; + jacobianMatrix[6][6] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + qmP=stateVark[0]; + qmN=stateVark[1]; + qm2=stateVark[2]; + dE1=stateVark[3]; + dE2=stateVark[4]; + p1=stateVark[5]; + p2=stateVark[6]; + //Expressions + qm1 = -qm2; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //outputVariables + (*mpqmP)=qmP; + (*mpqmN)=qmN; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICRESTRICTOR_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticRestrictor.svg b/devPneumatic/PneumaticComponents/PneumaticRestrictor.svg new file mode 100644 index 0000000..df2f6ae --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticRestrictor.svg @@ -0,0 +1,811 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve22.hpp b/devPneumatic/PneumaticComponents/PneumaticValve22.hpp new file mode 100644 index 0000000..127bd0f --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve22.hpp @@ -0,0 +1,432 @@ +#ifndef PNEUMATICVALVE22_HPP_INCLUDED +#define PNEUMATICVALVE22_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve22.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:50:43 +//! @brief Pneumatic 22-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve22.nb*/ + +using namespace hopsan; + +class PneumaticValve22 : public ComponentQ +{ +private: + double Bf; + double Cf; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[7]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qmP; + double qmN; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqmP; + double *mpqmN; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve22(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(7,7); + systemEquations.create(7); + delayedPart.create(8,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qmP=stateVark[0]; + qmN=stateVark[1]; + qm2=stateVark[2]; + dE1=stateVark[3]; + dE2=stateVark[4]; + p1=stateVark[5]; + p2=stateVark[6]; + //Expressions + qm1 = -qm2; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //outputVariables + (*mpqmP)=qmP; + (*mpqmN)=qmN; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE22_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve22.pdf b/devPneumatic/PneumaticComponents/PneumaticValve22.pdf new file mode 100644 index 0000000000000000000000000000000000000000..08dc9d17fbb3cdc99c7d867f728be77f680edec1 GIT binary patch literal 55164 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%0AbtSDt=jURD}x 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 a{B3QcWo2_Sd$WSTY;4HX)WR|%$p0To&1CWb literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticComponents/PneumaticValve22G.nb b/devPneumatic/PneumaticComponents/PneumaticValve22G.nb new file mode 100644 index 0000000..987e4a9 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve22G.nb @@ -0,0 +1,894 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 43669, 886] +NotebookOptionsPosition[ 39112, 807] +NotebookOutlinePosition[ 39790, 830] +CellTagsIndexPosition[ 39747, 827] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve22", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, + 3.8036340541474895`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9},ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-\ +b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049349854692307`*^9, + 3.8050176650180016`*^9},ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-\ +709b9320587f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { + 3.8049349812375946`*^9, 3.804934981752065*^9}, + 3.8050176672355585`*^9},ExpressionUUID->"b1a17ebe-ca25-48b4-8480-\ +1a36ba699ce9"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, + 3.805022093004465*^9},ExpressionUUID->"f1d28f9a-2912-4dec-a44b-\ +799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "28", ",", "12", ",", "20", ",", + "6.4007831`8.55880808352921"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, + 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, + 3.804870815676323*^9, 3.804920406433749*^9, + 3.805022093004465*^9},ExpressionUUID->"aa6f4f45-bf37-4268-85ba-\ +d1117d8dded6"], + +Cell[BoxData[ + RowBox[{"eps", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, + 3.805022093004465*^9},ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-\ +ef462f51bbf0"] +}, Closed]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], + +Cell["\<\ +This is a simple pneumatic valve with two ports and two positions. It is \ +closed when the input signal is zero and open when it is one. The opening is \ +proportional to the input signal. There is no valve dynamics. \ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050228848734484`*^9, + 3.8050229142901974`*^9}},ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-\ +e907612579a4"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002hT0@0006`0000000008P0002D300250P00 +oOoooogooomA3@00f@/00215CDH0004092h003H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000m0H00>P60015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000819A010P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000030lIE900000<3aUDV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000@oBDA1E7RLkI_O +:kAI0>2o?nMBY>LllcoMlVnOK>JLcil37hRlPX8[@lV]DB:m0;[l0Ol/fl@WaAL]f408o +0>CWia<818@EVle6Kfn_DS +k>g]hGJkBDY:TVe72Y[^2@h>3SPl?2@Q8H75aDGIMZBQjA1H;1IRHV;`N3aIZj/[ +06IWIbFkTHMVN`:?al?jnWZ`OW=c`mKFUTA7l]1/2:aF:gZm?USgnogOiSh^;HfUYRKZj>PV^kW4jWOCg +mcnk_[no3l30`01cLg?1jiVIVKBf]XKEYRI3<3GUiL7?kNg]05AEEI6CTb?9dEOBdm?Yj>QhecHe>C5D?4F5@:52X50QD70o<1P<92LW2m7dnG`h70jLCZL@?LEG7XH3MWIfQ8Uf +MWKBeME5KFd]Ph>3@S@g=SHX:2P@XZEhR_29HB0@22i]=SLgRiIGA03Q8EQMGFEWIhNRh/;2P/;bL_;4bV]R212odEl?1@X +_Yg9bLUW^iiN8cXjV_[jn[3J4aH2Ul^5eFY5Ym?Af=PXBUJC=3@d_?UN_EkooHC0K3KSloVX[Zk6J3B: +T]DT;hEPJFV9/kcZJ/[4b49lDk +4gH87Tl8Gc[@XOSn2N^]NKgNh;Un]DclL@T[1=?CdeaNGU9LG8c9I1;UBO7>Q1D2]CK`>@P^5Zf][HGd +h?Wi>@/;2nQd>T`VDlS?Qh[MKPOPk^i>J5/nW`n0cLe=G2jG44f7``70lO6a<:lNS`N0kNe]h^?SQFPn +40Fh0;T7l1@b>Hl2bX4oIC]i8cl2o`4nPIYI@2c`3o3jbLo@n8Wk;O;7P4>@YQ680oh5[PEY0_cf?lJj +QJN79C4S000004U5CTB^@V220008@088900001P000024<3K0@0000<00000000000000000000K@050 +=00002P0000200000P0000000;l0002o0001@`00<483000000000840000002`08@0000P0001R0000 +30000040000Q0000200001h0000H000000000D5060@00D@000?0300000000b@0002D3003K0@0000000h09P<001<1000X0000P@0002`000010040 +0000000000000000000000000000000000000?ooo`1EEEEEEEEEEEEEEeEEMEEE00000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo +oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP00007oooooooooo +oooooooooon0000028R8R8Rooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo +oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo +oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP000000000003ooo +oooooooooon00000D@000;`H00000000b@0002D3003K0@0000000`33`l<0O7al03De=@0S8b<0 +0`<30?;blP3Rh^8020P800d=3@2_[jl0Ti>C00/;2`010@40GEeM03Ti>@0@4100lo?c00L71`3Cdm<0 +Zj^[00h>3P28R8P0E5AD038bOWi`1gMgL071`L05]KF`1cLg<0 +0P82061PH03AdM40=SHf0<30`02ZZZX05ADE09FEU@2l_;`0jNWY07]kN`2DU9@07alO0=oOg`0Q8B40 +8R8R01dM7@0A4A402@T907inOP1OGel0clo?0?knoP0K6a/0IVIV07QhN03gmoL0CP2@T900 +[:b/0>c/k00410@0TY:B04];B`1EEED051@D0451@@1JFUX0Z:RX0=WIf@3emOD0NWYj06=SH`2o_kl0 +oOgm069RHP3GemL0YjNW03Lg=`1:BTX0cCTi>CTi>CTi>CTi>CTi>CTj33/i>CTi>CTi>CTi>CTi>CTi>CTW03`10@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010000000000000000000000000000000000000000000000000000 +000003P10@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@4100410@010@400@4100410@010@400@41 +00410@010@400@41004000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@41 +0@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@41 +=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 +0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@4000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 +0@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 +0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@41;Rl_<00a;c810@410@41 +0@410@410@411@060@410@410@410@413a0A0@410@410@410@410@410@411@06 +0@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@410@410@410@410@41 +0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@412``=0@410@410@41 +0@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41 +2@X10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@41 +0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 +0@410@410@410@410`@10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@41 +0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 +0@410000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000160000500000P0001DCU1@ +1`400280000<0000ooooob80000<0000ooooodH0002d0@00Z04004E=AR/Z@000900001P0002`0R`j +00000000002`0R`j00000000BDP0000000000/08/>P00000004U38D0700`000000000 +:T0002@0000H0000/08/>P0000000000/08/>P00000004U3:T0002@0000H00000020?`0000000000 +0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 +000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 +900001P00000080o000000000000080oSLHOA=G?6D@4@00030000000000Q0000200001`000080000 +B`000400000`00001@000200000100000@00010000000000000002H3003=0P0000000000000V0`00 +c@8002@0000T00000020?`00000000000020?hg67dCEcaU40P0000`0000@000000000000000:0000 +4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 +HP1b06T0000000000000000PH40000000016@5o@5o@5VL900000000000000000000000000000000W +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9`0002L002LHIM/8000002400024fdl000000=@00015CDH[:T0002@0000H00000020?`00000000000020?hg67dCEcaU4 +:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 +0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 +30000000000Q@0L030000000000Z@000900001P00000080o000000000000080oSLHOA:j144<4@000 +30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 +000002H3003=0P0000000000000V0`00c@8002@0000T00000020?`00000000000020?hg67dB^PA13 +0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 +000009010000000010048T<0H@1/06T0HP1b06T0000000000000000PH40000000016@5o@5o@5VL90 +0000000000000000000000000000000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl000000=000050000000000@00005000 +\>"], "Graphics", + ImageSize->{182.3333333333334, 162.54521963824288`}, + ImageMargins->{{85.55555555555556, 0.}, {0., + 0.}},ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A0max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, + 3.8049202878021173`*^9},ExpressionUUID->"303be765-e9fc-44f7-94b5-\ +8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, + 3.803634155729506*^9}},ExpressionUUID->"b285c72f-9e43-46ac-b84f-\ +0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}},ExpressionUUID->"1547f96f-2227-4719-9bd2-\ +75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { + 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, + 3.805022852714327*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ +4695ea7860b0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell["The input signal is limited between 0 and 1.", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, + 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"A0", "=", + RowBox[{"A0max", " ", + RowBox[{"limit", "[", + RowBox[{"xin", ",", "0", ",", "1"}], "]"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.8049253628774543`*^9, + 3.804925377947908*^9}},ExpressionUUID->"55646062-94a5-41cc-849f-\ +bcc54828c5f4"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"qm1e", " ", "=", " ", + RowBox[{"-", "qm2"}]}], ";"}]], "Input", + CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, + 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, + 3.8048706405459685`*^9},ExpressionUUID->"d976e54a-4170-4f37-bfba-\ +e3f490adac4e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, + 3.626691991670635*^9},ExpressionUUID->"aa92a39f-08b0-45e1-95b7-\ +8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Nga2", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, + 3.8048706425229297`*^9}},ExpressionUUID->"74f920f2-7f23-4f51-b933-\ +81dd5219e38a"], + +Cell[BoxData[ + RowBox[{"Ngb2", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, + 3.804870643450972*^9}},ExpressionUUID->"c02640f8-58b2-42aa-8c90-\ +a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Nga2"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ngb2"}], " ", "+", + " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, + 3.804870602056671*^9}, {3.8048706441562443`*^9, + 3.80487064684647*^9}},ExpressionUUID->"e0127e99-91a2-4c82-a16d-\ +b7d33e10c829"], + +Cell["Expressions that are evaluated before the system equations", "Text", + CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { + 3.80502217704597*^9, + 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, + 3.626788286066334*^9}},ExpressionUUID->"3dce3a4d-0f1b-4201-a446-\ +f7764743c02d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { + 3.805022272779731*^9, + 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ +3c55a8691acc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qmP", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qmN", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm2", "==", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"qm1e", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"qm2", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], + ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, + 3.804870608550976*^9}, {3.8048706479862947`*^9, + 3.8048706539751167`*^9}},ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-\ +02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.805017881102742*^9, + 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, + 3.8048706590878425`*^9}},ExpressionUUID->"096b47ac-1067-49dc-aae2-\ +345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", + "p2"}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, + 3.804870662382444*^9}},ExpressionUUID->"45defc9d-8919-4035-bddf-\ +612495a3adc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"qm1", "==", + RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{3.804870613309064*^9, + 3.8048706633414555`*^9},ExpressionUUID->"52249328-bf8f-4534-9a6e-\ +18460255eed0"], + +Cell[BoxData[""], "Input", + CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { + 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, + 3.626788084646427*^9},ExpressionUUID->"dd6ace65-5d77-4186-8ecc-\ +49603183992f"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1028, 549}, +WindowMargins->{{Automatic, 128}, {-43, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.6 Inherited, +FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (March 14, 2020)", +StyleDefinitions->"Default.nb", +ExpressionUUID->"30841739-f9c7-4115-83d1-832fd9b7fc9c" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 232, 4, 106, "Section",ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], +Cell[814, 28, 353, 6, 46, "Input",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1170, 36, 535, 13, 46, "Input",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], +Cell[1708, 51, 816, 16, 46, "Input",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[CellGroupData[{ +Cell[2549, 71, 1465, 33, 304, "Input",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[4017, 106, 1225, 20, 51, "Output",ExpressionUUID->"aa6f4f45-bf37-4268-85ba-d1117d8dded6", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}], +Cell[5245, 128, 253, 5, 44, "Input",ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0", + CellGroupingRules->{"GroupTogetherGrouping", 10001.}] +}, Closed]], +Cell[CellGroupData[{ +Cell[5535, 138, 98, 0, 60, "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], +Cell[5636, 140, 423, 8, 92, "Text",ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], +Cell[6062, 150, 16210, 202, 273, "Graphics",ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], +Cell[22275, 354, 1509, 34, 226, "Input",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], +Cell[23787, 390, 570, 13, 106, "Input",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], +Cell[24360, 405, 719, 17, 136, "Input",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], +Cell[25082, 424, 933, 18, 136, "Input",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26052, 447, 145, 2, 85, "Subsection",ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa", + Evaluatable->False, + PageBreakAbove->False], +Cell[26200, 451, 236, 4, 55, "Text",ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], +Cell[26439, 457, 296, 8, 45, "Input",ExpressionUUID->"55646062-94a5-41cc-849f-bcc54828c5f4"], +Cell[26738, 467, 214, 5, 55, "Text",ExpressionUUID->"fbc6ac93-5130-4905-8ff0-27a02bcad99f"], +Cell[26955, 474, 313, 7, 45, "Input",ExpressionUUID->"d976e54a-4170-4f37-bfba-e3f490adac4e"], +Cell[27271, 483, 192, 5, 45, "Input",ExpressionUUID->"aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], +Cell[27466, 490, 838, 23, 119, "Input",ExpressionUUID->"74f920f2-7f23-4f51-b933-81dd5219e38a"], +Cell[28307, 515, 834, 23, 119, "Input",ExpressionUUID->"c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], +Cell[29144, 540, 1536, 42, 236, "Input",ExpressionUUID->"e0127e99-91a2-4c82-a16d-b7d33e10c829"], +Cell[30683, 584, 252, 4, 55, "Text",ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], +Cell[30938, 590, 2159, 61, 480, "Input",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[33134, 656, 224, 4, 85, "Subsection",ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-3c55a8691acc"], +Cell[33361, 662, 2917, 62, 349, "Input",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[36315, 729, 160, 3, 85, "Subsection",ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-200441668409"], +Cell[36478, 734, 814, 19, 136, "Input",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37329, 758, 174, 3, 85, "Subsection",ExpressionUUID->"7aee13e0-4e61-4e17-a44c-47e7f85d055c"], +Cell[37506, 763, 590, 12, 45, "Input",ExpressionUUID->"45defc9d-8919-4035-bddf-612495a3adc0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[38133, 780, 88, 0, 85, "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], +Cell[38224, 782, 146, 2, 55, "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], +Cell[38373, 786, 334, 8, 106, "Input",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], +Cell[38710, 796, 253, 4, 46, "Input",ExpressionUUID->"dd6ace65-5d77-4186-8ecc-49603183992f"], +Cell[38966, 802, 118, 1, 46, "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve32.hpp b/devPneumatic/PneumaticComponents/PneumaticValve32.hpp new file mode 100644 index 0000000..e21c1e8 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve32.hpp @@ -0,0 +1,663 @@ +#ifndef PNEUMATICVALVE32_HPP_INCLUDED +#define PNEUMATICVALVE32_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve32.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Mon 3 Aug 2020 16:52:10 +//! @brief Pneumatic 32-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve32.nb*/ + +using namespace hopsan; + +class PneumaticValve32 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[10]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve32(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(10,10); + systemEquations.create(10); + delayedPart.create(11,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + dE2=stateVark[4]; + dE1=stateVark[5]; + dE3=stateVark[6]; + p2=stateVark[7]; + p1=stateVark[8]; + p3=stateVark[9]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve32.nb b/devPneumatic/PneumaticComponents/PneumaticValve32.nb new file mode 100644 index 0000000..587dac3 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve32.nb @@ -0,0 +1,1256 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 62451, 1248] +NotebookOptionsPosition[ 59385, 1154] +NotebookOutlinePosition[ 60038, 1176] +CellTagsIndexPosition[ 59995, 1173] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, + 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, + 3.8054534604791784`*^9}, + ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, + 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, + 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, + 3.805454186766837*^9}}, + ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { + 3.8054541687164564`*^9, 3.805454187050544*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "8", ",", "3", ",", "16", ",", "36", ",", + "27.0675276`9.185023503806008"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, + 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { + 3.805454168942223*^9, 3.8054541871244683`*^9}}, + ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, + ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Cf", ",", + RowBox[{"1.", " ", + SuperscriptBox["10", + RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, + 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, + 3.8054551085310326`*^9}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, + 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { + 3.8054541693537984`*^9, 3.8054541874211617`*^9}}, + ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["The valve capacities are limited between 0 and Cf..", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { + 3.8054550231051493`*^9, 3.805455049024413*^9}}, + ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Cf12", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Cf32", "=", + RowBox[{"Cf", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, + 3.8051086817684207`*^9}, {3.8051089737576003`*^9, + 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", + CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { + 3.8054541143385487`*^9, 3.805454116960842*^9}}], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, + ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{"Ng12Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}}, + ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], + +Cell[BoxData[ + RowBox[{"Ng12Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, + ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM +M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho +EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d +59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh +BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i +10x3ORIc9cZR9yTPcRANALEEkLk= + "], + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{"Ng32Pos", ":=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { + 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, + 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, + 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, + 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { + 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, + 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, + ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], + +Cell[BoxData[ + RowBox[{"Ng32Neg", ":=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + RowBox[{"1", "-", + FractionBox[ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], + ")"}]}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { + 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, + 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { + 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, + 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { + 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, + 3.80510849956081*^9}}, + ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", + CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, + 3.805109082009644*^9, 3.805454147227625*^9}, + ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ +12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + RowBox[{"Cf12", " ", "p1", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + RowBox[{"Cf12", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + RowBox[{"Cf32", " ", "p3", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + RowBox[{"Cf32", " ", "p2", " ", "p0", " ", + SqrtBox[ + FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{1301, 931}, +WindowMargins->{{154, Automatic}, {11, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 306, 5, 70, "Section"], +Cell[889, 29, 691, 10, 30, "Output"], +Cell[CellGroupData[{ +Cell[1605, 43, 484, 11, 30, "Input"], +Cell[2092, 56, 1731, 24, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[3860, 85, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4218, 93, 740, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[4973, 110, 280, 4, 30, "Output"], +Cell[CellGroupData[{ +Cell[5278, 118, 1615, 34, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6896, 154, 2082, 31, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8981, 187, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[9368, 199, 98, 0, 49, "Subsection"], +Cell[9469, 201, 602, 9, 49, "Text"], +Cell[10074, 212, 18611, 232, 156, "Graphics"], +Cell[28688, 446, 2486, 53, 215, "Input"], +Cell[31177, 501, 644, 13, 69, "Input"], +Cell[31824, 516, 1840, 39, 164, "Input"], +Cell[33667, 557, 1508, 27, 107, "Input"], +Cell[CellGroupData[{ +Cell[35200, 588, 200, 3, 30, "Input"], +Cell[35403, 593, 1067, 15, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[36519, 614, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[36667, 618, 323, 7, 30, "Input"], +Cell[36993, 627, 394, 5, 30, "Text"], +Cell[37390, 634, 1368, 32, 90, "Input"], +Cell[38761, 668, 262, 6, 50, "Input"], +Cell[39026, 676, 213, 4, 30, "Text"], +Cell[39242, 682, 191, 4, 30, "Input"], +Cell[39436, 688, 1090, 24, 74, "Input"], +Cell[40529, 714, 1041, 23, 74, "Input"], +Cell[41573, 739, 1421, 42, 52, "Input"], +Cell[42997, 783, 1140, 24, 74, "Input"], +Cell[44140, 809, 1090, 24, 74, "Input"], +Cell[45233, 835, 2086, 48, 52, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[47356, 888, 159, 3, 49, "Subsection"], +Cell[47518, 893, 246, 5, 30, "Input"], +Cell[47767, 900, 676, 14, 69, "Input"], +Cell[48446, 916, 291, 4, 30, "Text"], +Cell[48740, 922, 2169, 54, 126, "Input"], +Cell[50912, 978, 3929, 66, 331, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[54878, 1049, 162, 3, 49, "Subsection"], +Cell[55043, 1054, 1431, 30, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[56511, 1089, 174, 3, 49, "Subsection"], +Cell[56688, 1094, 1175, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[57900, 1119, 88, 0, 49, "Subsection"], +Cell[57991, 1121, 146, 2, 30, "Text"], +Cell[58140, 1125, 1092, 21, 145, "Input"], +Cell[59235, 1148, 122, 2, 30, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve32.pdf b/devPneumatic/PneumaticComponents/PneumaticValve32.pdf new file mode 100644 index 0000000000000000000000000000000000000000..019b08cb1ba2890995c832c7594c2a2aae8c0b5c GIT binary patch literal 90865 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 JMdihA{2!-iK1cun literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticComponents/PneumaticValve32G.nb b/devPneumatic/PneumaticComponents/PneumaticValve32G.nb new file mode 100644 index 0000000..f60eaaa --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve32G.nb @@ -0,0 +1,1444 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 12.1' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 71528, 1436] +NotebookOptionsPosition[ 68310, 1340] +NotebookOutlinePosition[ 68962, 1362] +CellTagsIndexPosition[ 68919, 1359] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve32", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, + 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9, 3.8052140230030565`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9, 3.8052140256179743`*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "31", ",", "21", ",", "54", ",", + "42.5527098`9.381502096220904"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, + 3.8052139582718973`*^9, 3.8052140296728487`*^9, 3.8052140825716896`*^9}, + ExpressionUUID -> "081b577f-23a2-419b-b088-0608031113a7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and two positions. It is \ +closed when the input signal is zero and activated when it is one. The \ +opening is proportional to the input signal. When it is closed the load port \ +(2) is connected to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, + 3.805022947994833*^9}},ExpressionUUID->"fdb397bf-a6a5-4a0c-b930-\ +ee7c7cc96b5e"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 +oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] +B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI +F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W +@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW +Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM +HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh +4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C +DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN +?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca +lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` +f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ +71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i +CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW +M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 +HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 +bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 +^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V +4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY +J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X +US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 +:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 +0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 +AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 +P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 +00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo +oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo +oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo +oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo +oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo +oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 +W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 +jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 +TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 +NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 +U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 +0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 +00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 +0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 +0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 +0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 +0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 +0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 +00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 +0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c +0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y +D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 +0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 +0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 +00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 +0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 +0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F +0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj +>SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 +0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 +0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 +C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 +A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 +0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 +0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 +0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 +0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 +0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 +0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e +0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 +0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 +0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 +940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 +0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 +60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 +00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 +60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 +7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 +0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 +Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 +9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 +lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo +D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 +ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 +00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 +10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 +:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 +200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 +D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 +KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 +h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo +oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 +600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 +C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 +8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 +bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 +00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 +7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 +140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 +00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c +0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 +N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 +8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 +5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 +0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 +9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 +60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 +000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 +600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 +00000"], "Graphics", + ImageSize->{166., 139.1470588235294}, + ImageMargins->{{89, 0}, {0, + 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, + 3.8051086382954836`*^9}, {3.8051087117254987`*^9, 3.805108731364309*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{ + "1", ",", "100000.", ",", "\"\\""}], "]"}], + ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], + "]"}], ",", "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], + "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, + 3.805022637407225*^9}}, + ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.8052139584467173`*^9, 3.8052140298067117`*^9, 3.805214082749506*^9}, + ExpressionUUID -> "60add956-2a18-4cd8-b0fc-7f937dd723f9"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", + RowBox[{ + RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, + 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}, {3.8051086667297983`*^9, 3.8051086817684207`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { + 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, + 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { + 3.805011288694769*^9, 3.805011290232191*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { + 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, + 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { + 3.805011290999591*^9, 3.8050112923130174`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { + 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, + 3.8050113217262278`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, + 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, + 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, + 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { + 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, + 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, + 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, + 3.8044096936388044`*^9}, {3.8044097370500917`*^9, + 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, + 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { + 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, + 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, + 3.8051083173812647`*^9}}, + ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ +12187c8eeb66"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "\[Equal]", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { + 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, + 3.8051082714225245`*^9}, {3.8051088534294024`*^9, 3.8051089128193035`*^9}}, + ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050178706124625`*^9, + 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"PneumaticValve32\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ +\\\"\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Pne\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ve32\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ +\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,38,1, + 16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140843472595`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,2,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084580019*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 38,3,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140846079903`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,4,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084634963*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,38,5,16366420814912799141, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140846679287`*^9}], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,38,6,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.80521408470341*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,38,7,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084756343*^9}], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 38,8,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.805214084794304*^9}], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,38,9,16366420814912799141,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, + 3.8052140848322644`*^9}] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{974, 746}, +WindowMargins->{{220, Automatic}, {76, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "5e16a49b-e9e4-41a3-ad00-0a0df7589f53" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 306, 5, 70, "Section"], +Cell[889, 29, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1247, 37, 533, 12, 30, "Input"], +Cell[CellGroupData[{ +Cell[1805, 53, 788, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2596, 70, 1615, 34, 183, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4214, 106, 1961, 29, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6178, 137, 350, 7, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[6565, 149, 98, 0, 49, "Subsection"], +Cell[6666, 151, 603, 10, 68, "Text"], +Cell[7272, 163, 18611, 232, 156, "Graphics"], +Cell[25886, 397, 2283, 48, 183, "Input"], +Cell[28172, 447, 644, 13, 69, "Input"], +Cell[28819, 462, 1840, 39, 164, "Input"], +Cell[30662, 503, 1508, 27, 107, "Input"], +Cell[CellGroupData[{ +Cell[32195, 534, 200, 3, 30, "Input"], +Cell[32398, 539, 946, 13, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[33393, 558, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[33541, 562, 323, 7, 30, "Input"], +Cell[33867, 571, 373, 7, 30, "Text"], +Cell[34243, 580, 1266, 30, 90, "Input"], +Cell[35512, 612, 214, 5, 30, "Text"], +Cell[35729, 619, 191, 4, 30, "Input"], +Cell[35923, 625, 1244, 28, 76, "Input"], +Cell[37170, 655, 1243, 28, 76, "Input"], +Cell[38416, 685, 1946, 47, 94, "Input"], +Cell[40365, 734, 1341, 29, 76, "Input"], +Cell[41709, 765, 1405, 30, 76, "Input"], +Cell[43117, 797, 2040, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[45194, 850, 159, 3, 49, "Subsection"], +Cell[45356, 855, 2211, 61, 307, "Input"], +Cell[47570, 918, 291, 4, 30, "Text"], +Cell[47864, 924, 2169, 54, 126, "Input"], +Cell[50036, 980, 3945, 66, 322, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[54018, 1051, 162, 3, 49, "Subsection"], +Cell[54183, 1056, 1431, 30, 107, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[55651, 1091, 174, 3, 49, "Subsection"], +Cell[55828, 1096, 1175, 20, 30, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[57040, 1121, 88, 0, 49, "Subsection"], +Cell[57131, 1123, 146, 2, 30, "Text"], +Cell[57280, 1127, 1092, 21, 145, "Input"], +Cell[CellGroupData[{ +Cell[58397, 1152, 122, 2, 30, "Input"], +Cell[58522, 1156, 6610, 98, 148, "Message"], +Cell[65135, 1256, 317, 7, 21, "Message"], +Cell[65455, 1265, 461, 9, 21, "Message"], +Cell[65919, 1276, 317, 7, 21, "Message"], +Cell[66239, 1285, 461, 10, 21, "Message"], +Cell[66703, 1297, 316, 7, 21, "Message"], +Cell[67022, 1306, 389, 8, 21, "Message"], +Cell[67414, 1316, 459, 9, 21, "Message"], +Cell[67876, 1327, 394, 8, 21, "Message"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve33.hpp b/devPneumatic/PneumaticComponents/PneumaticValve33.hpp new file mode 100644 index 0000000..760be88 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve33.hpp @@ -0,0 +1,663 @@ +#ifndef PNEUMATICVALVE33_HPP_INCLUDED +#define PNEUMATICVALVE33_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve33.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:54:56 +//! @brief Pneumatic 33-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve33.nb*/ + +using namespace hopsan; + +class PneumaticValve33 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[10]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double Ng32e; + double Ng12e; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpNg32e; + double *mpNg12e; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve33(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(10,10); + systemEquations.create(10); + delayedPart.create(11,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + dE2=stateVark[4]; + dE1=stateVark[5]; + dE3=stateVark[6]; + p2=stateVark[7]; + p1=stateVark[8]; + p3=stateVark[9]; + //Expressions + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE33_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve33.pdf b/devPneumatic/PneumaticComponents/PneumaticValve33.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8a9fb78438043cb905cfe408d55f14d486c2b277 GIT binary patch literal 91274 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%0A+t^N$xzR&ZC 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 z zRH6HFF^!_M??#(Bjkq|qsaxzx=G(rT&(VC^_NlCSykix-zZ@{5M}qXhloi?g%lFi4 zT!QOOaZVq-j=;=kT*Aknncnz+S6)#iqSm1|I1LT^@VJdiAFD3ov9Z;R+?87!5^FF? z;m>z)=6ro!z&)3R0dKOlRRP2FWvYwH;I+w3PJu%)S{y#|?bOUDIsliut;0~Z0eb~ML=e2Rbp z#l@HT%ZiHTw8C`Bg}xuQankBMHh4Bw2rSa^lTVa&Ukf3pEr-9%^$|urHH9Z9+f6fF zPN*Y|B!yX1jP;Vvv8Xc9wjn-jbQgi`w6TgY)~Rw(rfX<#x<0O4P=wVE>jPF&W2^Rm zW<=(@FZZngh=rY?cV;a(RI<>U66l%{Vk$z@b|2#&!&#@rhcOOrunGeE$|*Zf%OY<* z_s=iLFAz<80uoqJ(l0in;1oU{9K^Dwd5vW=K3;~q?|c`%IjoF6kCM%l7$aD=KJY!? zgml0d$3^`jydAP9Wf7ot+q>#L6?{svaKvAgRvC2fw=F0`_f0qXG0bpuX7+0CMo&UTQOMIruDerjmK=?#5`qz#ou?2TZ@Emy(E*gNT_LWLeTL< z5;wJmyBALTs;?P8Jbv_(S%t7lA?oB;u}dX^4luE4l4-##Ui5vg3OS#*!T#)!1z~2? z{9T>AS%%{)f!@W`bW^oo8kCfuKJWUU>*>*yl*b{5%zt7O5in6s%AfwW|B&8goSfvg zRtJiD$08(p6gctKw?oI&bczQ5XD zc(Gn>gR(W@8jlHXPmj$M@lh)_fgH}pgkDZ^b-N!cqE_rO5}NbDWPa^A7Lh#1&?DI> z4u9n=OK#_-x)z|sGmo0Z{3nE+(fLJ+Psi&hWBaEbHu6AD5{_NoR`SKZkS6{d4plTB zm-A(jpR2oCtWK+mXzbOSANtx{yLTcv~rnFYy_uX-K-aDMvrCTw^ zYrf|LCb(mG*;8k)l8aZ?e19fuGSO9bKF>8S)>Z}*-{iuJ5X@(5SRiv;TOS zh8BXlx!i72M%|V0?43Xu1u1(ljEw>8-K`dtC7RiGX3g5s^h`;hcaDij3yGO=GjB@! zUi3`$+b;DUovGr{`&~ORY96Zs(%}^shH^6xE1wCEM4^$j!4pCelV3TWlEro`?k7op zrRnsFz6nO_@Uf&EW=~m|FLB-LJ@4D#&?-}f5ls0bhVSh*O|9}q-_rZkX_?E;9Z*={eV6`m5Hu`yb#@+S@Pb%d5$Z zr~*M9{y&ML0XZ>zom~r@g~l-+V^5lQIpdrwIrP`yl_al@;|levH$ucNsD6TM7j0u( z>gzUs&qw!$IYW$g{5V9-CU+V`#3$cKI_S(TtSy%r6sn@EcT!hwKzWNsJ5%Ct?n$&U z1g_DAo*P#HPQu##k^8Bc4U%T|)x0Hi%ze5vE;^v#Kr4-*f$I2lMsu@ke!PV3;=CuN z_H6MUhXhZJCuL&G;f>mSWF<++CfTaJ_at|3@W@KGomdvT@OZEY?0D%!JPJpg@IfPC z#Co))h>5vmDcGye+#HYd^|eeCfdyAtw#bK>ou|&Py(K$F(jb14_=f}l?nK&UVoUc$ zg(eeVpoKg8tpBi{wB29HGU)=|UZsQotSxvW!nZrqsn3V<9$jZ z){tKYa$?_fk^(OCyqdsK6)#HjQ%te*z1%WirK7KN7j+#xPt@+y_Bx?9&dp$ElK%!O z2D@11NF>d6KNYUrey&hyGcGf6-6)vW_-B^kg&WGqDi^i=c<`@p=b18gi-LTeCO@x~ ze6Jcd`l)eIh|qI|>Nd#Dr4XKKE;JBUpPdG<9huNb@Nv zEukDb$t6dZL_Z~@@81w4DevSyG6rwT5GCN?rt(ltvZtLH@Y8*pK$oOIqv8*}{IX%) zCwhqg$~qz21m0fXu~dWJjgW!@CBpp!HGz|oLO(TWOzgxLRmq$$Uk|*CtUoQ#uVbBo zE%;Yye=ct*DR^zHFP{yCb;#t04|1-A^SiE6rlJxE$huVG=^m+>nu^n>R+amcVT!EB zKYGS0oY`69-%o6+~y}DCrHFH?XNg%I4d4+uA8(v zKK3t!^jZJ%)bFWV(mHskBK%R`n88e}JUjd58?#GjU+qi*U`CTa1l?~q5%D2)@KZs8 zM3A?^`3O}M6M41^N@elI?%1W>UiD=S^H7Q*p~aG&!r`IGvxF26SVk-8vakD6s%Xcp z`1t{?Pe8Z?Z3@+e@)r;M^P7zm)BAIOI$Sg=nC3++#+8ZJ(}Asr8aKrvn>=gNEGzC? zk~75xRpF^^DtHy$c2N5Ue3;?gl`~OaEXl|bEFD=V;}E{H==49&FFnVKXjT0bVOuL3 zl$rWqmZ0V&vLLZi$e(rn!og?R&TQ7sS=TysfTl+V2Ae%NJPgA1-@pIbmggecurGf$X@w zRk}mxDed0&vb<@kC;AzAi~x@CBTaO5&s9KbeE@CT7Zc2Jc4drKjO#Su8yLjGGbg$69!+evJfX4;UoGf8Bs*C<;X{mz+{C<#&*~Or|A9adw!je_Q&4Ew zVb&*uWzazAFrEeNJ*Ki)6U-!zrn!p4$fHp(AGHwHbCY!R3of$G-;T9$d3%g3(J zy~#tXcxpfLS6%mb{xvUa3eV@Pvf=#yGY3=uyl{z%%rab|PU1B7I~+`qn$5d1ol!AT8`o0xre{Cg5XC z+}x0&#v|VJ$R_tW&mFv{B%;4mCmC=M?i~LPXX6yHf7ALL^)BY|ojlnuNvDh~@*Osb zR5rC#NQ+I@6q{1bsUfWd<4sq8;&YYH@w0J~illz(xcjSm-EzFgXA;lwU_IBI{=>|7 z$0*Ze{3?n0h>H53o~1;m7kcv=W$ayY3QsILDZHY^v1dGEbY%B`nWOG%Rb{Zn@>F9Z zm18-^>I++M%kegjHXF9OFJ38U0=c+(rsZ0s0C3~kISy5xtX>Cq`s6H(aVaSUZ}-8%ETAYAN>;4(>at zK=d+a?mV?cGF{bi_9V+R1$>r~*y*JEDsw_<^hKi^pfBo%wrduBkFC@Kg`RVI=n@Z_>9<7{AwW_2c^;TYjU`a zhb$YsvifvTz#$WpsWb`qJHw2-gsSP2%DnSXV6-5kuE@{p7AmZlgsr=*3!$ zFp|X@f}LCzgo-kIy>pb5#{8L80+E<-Tq&MPV67!Q@l!Nrp9FjVHsuyiY~iHh5s1hs z)mvjVtupzH7|_pNYt$}@e*|H|_ZANaqCv<>YbZ5e6^V{^W2UO2lw*>V1h;)IR;Nb8 z9qN7U{vM56y2n}_HGDTUW#53=*4Ea7vNlo9&YDm)xYa?mp=wn1=yaxq$Zht#ewv3E zu_3mSKKLfZ0NN#Kn%{;-TiV*zduOV3mZzz$p}4uklT5I9hP^$1hP|J2zRU$URX5)n z&_MG!s)%v`Cy(LF+j_w6a0CypF2JnaJQuO4BH38T?~6-2W< z+97DRnlfs=+sBG3rk%L1kw-y7{lJ7!@|@ z3`j>u(#%E~4%zw|U-MAns`56?s?=QtyYw9PrQUxvraP04$+xJXnKpOe!nqYCf@2bn z?b|u?K#iRHj%&di(QP*3U>yxB%jq*HR*~eLJ6cxX;O-W4H6N>`ptiK8ixqH2lDiUe zB!5H{=+lE|g)TJORNtA>5TxR%p;_td;ma+ksuIrBx ziK?I`jj8flwQXKjNVyyvjpt6P)R>G$q)IuvS1(C#nP6>DC56(XtGnfMJc%u(v7lgo z1eu=NSacDp_{agVR9RKc8Gz&U%2*RxQ1Sqm5$-2yZU#1upfAC$vTmVxsKUOaD&eeP za^HD|A~&n@a?g$A9}xzx+m|+x-$y2}aGF*_RRk5SRWRRvd#9{98&r`I;ij~g7S@-< ztyL-=X_7k$XvcXVW+nZMHvpxmF_6+1XFwe0QIT>b_||P8;m67y?|{#PDQN}qi$2js ztj0~ZqO|M53`XaHj%8_UxpB0Ni*@<KPt=ZMTHQl$TrBfgiVrZ9-ZQ|`3pcS98g%Y4BrD_}88_%)> zHMQ(7rVVQgzb9nOCaAetR92y8FyGRwqJCp63)cVikwm4pbwgXruDrBy22w4zvu?=EIxklKG8M7NGl@OzH9y7FON_~Lj zs`7A9xTYUYHcgvS%eJLb<1?+%%_r)a*z#_*J~ygNj_C%qV1wW_CY9(24~dRM(@hqT z7U%K|kK)0jki^}%!`Uc*v08n_)CME2=39TGb%|7k2$Fygvz}Uj70OxqbZWFP&*d~# zHMPa<#D1^OJ%vf6;}KeY0cS?xiq~;@{tbY=;q#H362#8=_~bcF!+Ean{s&;pbDy;{ zdzvt`Um?56&%=?2&r=!SZ=V_-PCDz$HiWOZh#!s=!nAIyf;`G5T(a^LRpe6D;25UC zzfQ{y6;!d#pg2|JF5jP;8Bnqj4#Mg|U&DX{5xZSNF%3LF)!m-G?-0`HB>M`4AE|=U z0SR^AWFvJJLeC?O_C09&B74?Zh~yD_Z!$s9$(>+BJF=c#N>|>6_rnLhh2EK5Zep9t zL}d4QCpDBQn zLt6`*FflJ!$Q?-_rq|E;bZQ6E@bQx-Z~EU;&?LyaZODyGch#<@U)WAjQpqiTER)Kq zhigHjn~+Nt(vFjn=J%E%jJqLMq838Xi{;>vUa5@Dr(`>zCjW{~MP~s-hbHF_Zl>#n zBlp8vZ%6M!a+D9(59VX+oe+Jb>cuCQM?Nb=2L|)e_ac(}p|9(U`mpx8i~2D3@{0N} z_o|Ef(D&ks65*~plM7?5E0YUjtQ(UHW3K0l`q1^lixOe2`;xCtU>$lE)x8YJ{f-^HKFiiazRw2Z<7)ufvh&;I0G6bFhuN z&?gXT6vExeb8w8R(7l7_nR{8tA4TgC*RYI$=n9B6y5Y1T9-`p`As!#YyAW&S!X-oI z8G3QZNidA+&@+QQG{R9u1*v+2L@RKOveD5H9J|nO5FM+~Zx9@t(A^Ph)WW$%f716_ zk!ywAMxrx@Xpr|Fi8A4?^N`zN8>OSm1~+Sl_lYuL8s(#3grw2->X2_Eu*-(0i~gkQ zMIpCCH)=)KBQHU8>_ArzvA{8kK$jEcLYgG|(1GqMI*p`A*=s^hgUGHJjwq@_`=J4y zg!~(}Q5L$YXcTsVQaBR%a0nfiQ9XKLFdliY1G!8v9Xf?RLKC{DC<=yA9D0i=3VJ~o zIzZF}c~T*qiJT*3m+?a=`kv_JLf;2J|2?-UGUkC!@zbKIN`&RmAKD(Z#K$}wu=9w6 zgO14S@{AKMg6=SwIU`BL7z&p3GOX|SoCH&0=C#jUV3`A$n6G&^)f;4aA1(y2uBDNS z#eancpFXNsVz@1edw?n0O=)v-p(_q4rUf;%0#0FqX=N|+x5b|5#>9rTwg6(D8S}~+ zK{pe94{{!hMJ>k*Q*vA)hM`%x4naw|Y}}PCRx(=3s>WJks=ivfs(Odv$ zCDre@xc#!s8zQ8v(X!=b!{r6W;C_{@=zRG8A9BM@9F+xSf|V6z#Ze`xlXAuN#YrS| z#hfywZAmFb*y`BD*lO5CTk0)K#e|RdrwP6Z>KWS;AK!UoU>*ySaUV^ErL;HbXMCY) zD<*WmI@15VN%*vUM17QScoLr$pbSg9AA15vfix*E4=qoe#p2kydvXk;3%Mi&US#=g zxx|23v&Qc$_wsT9PrZ96Kya4drb`4^TAr5g3ACr5)wy#?473OM_UyfgvpL=;fN_5{ zL+5Q|3GZCu0~G+i-}j8=NgeNLfoK3<&>kM}2GB9Erz?MQYYZRwt9#E@-rmtG5lomB zdwVg!(K6fV2Ri?mb8OSjT%pplue(R( A7Hz7 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�XKC?m0YO!HWMC>7Fn~< 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 literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticComponents/PneumaticValve33.svg b/devPneumatic/PneumaticComponents/PneumaticValve33.svg new file mode 100644 index 0000000..c5146fd --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve33.svg @@ -0,0 +1,478 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve33.xml b/devPneumatic/PneumaticComponents/PneumaticValve33.xml new file mode 100644 index 0000000..e6b1bde --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve33.xml @@ -0,0 +1,21 @@ + + + + + + + + + Pnenumatic Valve33. + PneumaticValve33.nb + PneumaticValve33.pdf + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve33G.nb b/devPneumatic/PneumaticComponents/PneumaticValve33G.nb new file mode 100644 index 0000000..b6cc9e4 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve33G.nb @@ -0,0 +1,1331 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 66404, 1323] +NotebookOptionsPosition[ 63619, 1235] +NotebookOutlinePosition[ 64271, 1257] +CellTagsIndexPosition[ 64228, 1254] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Valve33", "Section", + CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, + 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, + 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, + 3.805012920364835*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ +14fe362c0648"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, + 3.804934999464794*^9}, + ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { + 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { + 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { + 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, + 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, + 3.8050124418309746`*^9, 3.805012957555482*^9}, + ExpressionUUID -> "37d6925a-c1d8-47c0-a1f5-6a561d507ef8"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, + 3.8049350007594585`*^9}, + ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", + CellChangeTimes->{ + 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, + 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, + 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, + 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, + 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, + 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, + 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, + 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, + 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, + 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, + 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, + 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, + 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, + 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, + 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, + 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, + 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, + 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.805012957946987*^9}, + ExpressionUUID -> "0ffd127d-4df5-474f-b672-3962a05d2d8b"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { + 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, + 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, + 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, + 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { + 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, + 3.8048336037625947`*^9}, {3.8050129234567766`*^9, 3.8050129253687286`*^9}}, + ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2020", ",", "7", ",", "29", ",", "14", ",", "2", ",", + "38.0080433`9.33245039768767"}], "}"}]], "Output", + CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { + 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, + 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, + 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, + 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, + 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { + 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, + 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, + 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, + 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, + 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, + 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, + 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, + 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, + 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, + 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, + 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, + 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, + 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, + 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, + 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, + 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805012958351659*^9}, + ExpressionUUID -> "95065a91-93a7-4638-b8ef-30e65d227f21"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eps", "=."}], ";", + RowBox[{"R", "=."}], ";"}]], "Input", + CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { + 3.8042423261122637`*^9, 3.804242327784542*^9}}, + ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"], + +Cell[CellGroupData[{ + +Cell["Component description", "Subsection",ExpressionUUID->"13d1cb30-f088-4b61-91dd-0d101aa26d99"], + +Cell["\<\ +This is a simple pneumatic valve with three ports and three positions. It is \ +closes all flow paths when the input signal is zero and opens between \ +pressure port (1) and load port (2) when it is one. The opening is \ +proportional to the input signal. At negative signals it opens the load port \ +(2) to the return port (3). There is no valve dynamics.\ +\>", "Text", + CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { + 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, + 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { + 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, + 3.8050231830501547`*^9}, + 3.8050235752501793`*^9},ExpressionUUID->"ac7a5f84-49db-4b81-8144-\ +287fb0777a2d"], + +Cell[GraphicsData["Metafile", "\<\ +CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003j<0@0006`0000000008@0003<400200P00 +oOoooogoooo84@00``/00215CDH00040S3h004H0000200000000000000000000HA<006PK003B0000 +:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 +F08005P20016000040/000@;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 +60000000P3l0000000000000P3l0000000000390004L000040000000000000000826A000P0000000000/08/>P00000004U3 +:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 +/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 +000000000020; +``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000QKBDA1E7RLkIek +B9=]7lLoKZiEcZc/CL=jNATIM40S2DXZ8R[NX38Z4hZI444IQ]512B8RRLZT0f914HDMV18INmG28<[: +K1dXR:9bQG>Mc4>ifF5]eo^7Sg_LXci^k]jFNnh?k8okfWEmOco^OKVm[mmegKMQ31c2PL_0hV0W8Q092NW^kaV>73Q`?@g=`L +/3bCTY80<1Z=7_EO^W@Y08L?7`kh>EFYE02:PFAH[kU`h@9UIFG1CR=Tf;im>`051@GHkOJ0a^j<5k:6 +]EP/V1R0o?co`l@7jmN/lN_@XX;53d[1j_Ijf +]SKG/MEZUJ/54Z9FZmVdJA<0Q`hM2VS/T3>/dnWTj]F[KQ<2Ym?9UB]GPYQEj96IVHU6Xj6TY8Bj^/2] +ihBLHNoN_M]SNf][Jd1?K:PcH/@8eZeKQl?Qh=RaH`6;6aj`B07Rl^G;F:gFK^ef^if:RPZb/[:2T=FO +F:eFl_;b^[EgCP[gk=W3h<63GNg3QPeSiljM0L_?6kI^gDYADA6WCYeRejiMS1Xeb^la@lj`dM7A[5Ze +2X3BdU8L3PNYZJTXUDXg8`@;ZmG:P@<7N_gnj=6SK/MSahkmK@dkK]`hDU=C^G3Q0/N?7fOG[UenSaUb +Q^gjhiJEUN5`>3QkmRa3QP`9HUIoX]5Xf;mo_n_HI[?alnO?G_]7ADD58ZenTi>C`lF;5bT/;6CK]Ven +?llQImSO7He6@di>C[3CT8b4Q0CVcim?EEDEIlnNIL>63Gj=5g:C;YW0dkTY9Slo7hO3hMMH/V5UO6K1 +PPEW@X6cM^92l_Sh:20TjO?^fG>08@DY:G +UbL0/G[eJ/TdGkil:L;2`XA:YO9hc>31P`DPf]_K9L_34ljL>B<0TIjN7]2hgY:DU2@0HC@J9M?ln?6S +639TR52YE::n_UhbgDjOnVGBMNkL>@1d>YfT^R88SfC8NUE9JIX0aOOYdI/nN +SLERhMBYDfcI/XGahlMCFe_[TjjTOkXZ:RD?cadYc4a4B_Kgd<1P?O_gog +^?oBYD]AZmGMf/_;bfU_KoMHIlVB9Ak_2Gkmn[EGmioalO4<6cK<[Bdk>i_ZjVZb/[9@ZmDhWDi^gkk= +_7Wc?=K]2DW:F/g=cD:]EP^5@R7bVdEMI:bHVaZ/HCDe= +?N[4aLEiYO?ahdNglGmGeUZdJ95GfUEEEJjaCZMCU9BDR=SHF:5@:=cjcIhmfn?OXR^MhbFk`^[eNWkl +n<72Q@/I>gJ/E;819b4QPKRh>;LfTlU4Bd/;FZfF4B=6^7gGWhWUTRE;^UfmJVYZJ6QXH>KGmM7 +e[^bN?5RVY^KgM[^gK^7fFaVaX`IS1_W_Y[MdeFj=n;ShoWdjI?[f6Zed]SHB7=c73nnf8=AehoJ[ +Ejo@jG@moZEjl^B9acWdQRAGf>CTI068h^9RWkEj8U1Gf9i8CDdEP=3[mAkeklo2`HXE:`@PBT];ni^V +44:8];@d0HR;5boffMOKQH=mnoH9@>CVi_KImm:UBd:SdGBk4TM5A@VCbNAA_:idSYMTdUEGEdM=C@dA +4A4/FkI<2TVI0LkbiL_9bMV^oNO=V_cEm=^bM>gNXZj/S;Rj>^G?WnRXW4f:<73VB +ZeN_^]dJVChlN=4ATH27MF:oUH;O3;/mnoOGFmRG[=VSBmB +CZLS;Bd=SDJ3cFJSYZJVGcXn6MIP<=3JfTYBDQ9CYTcaAD[V7d1ADA4C9Tc0hG3dnfG8?QVfjnf0 +S4aOZ5@Z:RXZR8Z:`VPdmT/S73YFJahnO>SE`9JF5RX[:e4ZUDbJ=ejokb`03lU`kco^kl6oP:]0HhKR`@2K`7^[o;/c_AM3`jg`BlmC36 +_h08h1?PnAJ/gWDJ0MlfWgI7@HM?1>2DF=/CC_lOKLUdj_bDf?@00000BDE>A:i2H88000Q00PPT0000 +6000008@`=/100000`00000000000000000001]00D0d0000:0000080000200000000_`000;l002a3 +000`@P<000000000[0000000;00Q000020000680000<00000@000240000800007P0001P000000000 +b@0003@4003L0@005@0000`0000400005@0000`000040000AP0001@000080000E4i@D0H1001A0000 +X0@0000000390000<`@00=/100000000b@00000000000000[00002`0001@0000<0000800000P1000 +000008H0kP0d10004`4002P0002/0000;00000400@00000000000000000000000000000000000000 +oooo05EEEEEEEEEEEGEGEGEEEEEEEEEEEE000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo +oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo +oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo0007oooooooooo +oooooooooooooooooo0000R8R8R8_ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooo +oo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooo +oo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooo +oooooooooooooooooo00000000007ooooooooooooooooooooo000540002l80000000008n?S`051@D06QXJ0CTi00820P0 +2@T90=gMg@0j>SX0Y:BT09NGU`0<30`0U9BD0:j^[P0^;Rh0o_kn03`l?00m?Cd0oOgm02TY:@2i^KT0 +m?Cd00L71`3fm_H0VIVI04A4A02][Jd03Ph>0?Shn00I6AT0cLg=05IFEP010@400P8206UYJ@24Q8@0 +FEUI00<30`3Lg=`02PX:06m_K`1^KVh0LW9b09:BTP3clo<0MgMg08F5Q@3Rh^80jn_[05QHF01EEED0 +VYZJ0>OWi`1JFUX0PX:208R8R01mOGd0QXJ60=7Ad@0F5QH0ADE50;Zj^P0R8R80o?cl038bWYj@0X:2P0 +]kNg06MWI`1fMWH0bg]k@19BDT0ATI6014A4@3_knl0I6AT03Ti>@0h>3P09bLW018B4P34a<@0 +fMWI0:>SX`2YZJT0Zj^[05MGE`2WYjL0N7Qh00l?3`3Ng]h02`/;06a/K00=3@d0GemO06IVIP0S8b<0 +_;bl0=3@d02RXZ80bLW90=?Cd`061PH0Bd];04e=C@3Xj>P010@40:n_[`35aLD0QhN70820P012@T80 +RHV9061PH02OWil00@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 +0@0100400@0100400@0100400@0100400@0000400@0100400@0000400@0100400@0000400@010040 +0@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 +0@010000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000Y7Mg +MgMgMgMgMgMgMgJT0@410@410@411@06 +0@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@410@41A`2B0@410@41 +0@410@410HHIX5<10@410@410@410@0000010@410@410@410@410IT0TP410@410@410@410@410@41 +0@410@41G00=0@410@410@410A<09@410@410@410@410@410D00SP410@410@410@D01P410@410@41 +0@5d08l10@410@410@410@410@6@09410@410@410@T02P410@410@410DL0TP410@410@410@410IfG +08BN0@410@410@410@4000000@410@410@410@410@4?06a=0@410@410@410@410@410@410@410E`0 +3@410@410@410@4C02D10@410@410@410@410@5008h10@410@410@4500H10@410@410@41M02?0@41 +0@410@410@410@41T02A0@410@410@4900X10@410@410@5709810@410@410@410IbE000e:P410@41 +0@410@41000000410@410@410@410@417IX0V`410@410@410@410@410@410@410@5L00d10@410@41 +0@414`0U0@410@410@410@410@41@02>0@410@410@411@060@410@410@410G@0S`410@410@410@41 +0@410I00T@410@410@412@0:0@410@410@41A`2B0@410@410@410H600000R@410@410@410@410@00 +00010@410@410@410@410@4309P10@410@410@410@410@410@410@41G00=0@410@410@410A<09@41 +0@410@410@410@410D00SP410@410@410@D01P410@410@410@5d08l10@410@410@410@410@6@0941 +0@410@410@T02P410@410@410DL0TP410@410@410DdF3@0009T10@410@410@410@4000000@410@41 +0@410@410@41=2jE>P410@410@410@410@410@410@410E`03@410@410@410@4C02D10@410@410@41 +0@410@5008h10@410@410@4500H10@410@410@41M02?0@410@410@410@410@41T02A0@410@410@49 +00X10@410@410@5709810@410@410@6FU@0009NA0@410@410@410@41000000410@410@410@410@41 +0@4F08d10@410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@410@410@410@41@02> +0@410@410@411@060@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@41 +0@41A`2B0@410@410@4X6@00002CU0410@410@410@410@0000010@410@410@410@410@4160230@41 +0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@632@T92H@0C0T92@V50@41 +0@D01P410@41QT10@40@08M0@410>P410@41H410@41I08Q0@410I@410@T02P410@4g2@T9RHX01da< +C4b;0@6<90000000:@410@410@410@410@4000000@410@410@410@410@410@PT;gl10@410@410@41 +0@410@410@410E`03@410@410@410@4C02D10@410@410@41P000000000000000?P410@4500H10@41 +0F<000000000000008410@410F`000000000000005d10@4900X10@41PP00000000000000MP417GV0 +;`0001l10@410@410@410@41000000410@410@410@410@410@41M01X0@410@410@410@410@410@41 +0@5L00d10@410@410@414`0U0@410@410@410GEfMWIfMWIfMV]gMf@10@411@060@410@5hNGUiNGUi +NGUiNGTZ0@410@5jNGUiNGUiNGUiNGUk0@412@0:0@410GagMgMgMgMgMgMgMgd10@41:00_53=n0@41 +0@410@410@410@0000010@410@410@410@410@410Fl0L0410@410@410@410@410@410@41G00=0@41 +0@410@410A<09@410@410@410@410@410@410@410@410@410@D01P410@410@410@410@410@410@41 +0@410@410@410@410@410@410@T02P410@410@410@410@410@410@410Al0LG8=L`410@410@410@41 +0@4000000@410@410@410@410@410@4AJ@1Z0@410@410@410@410@410@410E`03@410@410@410@4C +02D10@410@410@410@410@410@410@410@410@4500H10@410@410@410@410@410@410@410@410@41 +0@410@410@410@4900X10@410@410@410@410@410@410F/0K6d1KR<10@410@410@410@4100000041 +0@410@410@410@410@410FH0>0410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@41 +0@410@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 +0@412@0:0@410@410@410@410@410@410@5W06P10@410@410@410@410@410@0000010@410@410@41 +0@410@410@5R06=T0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@410@41 +0@410@410@410@410@D01P410@410@410@410@410@410@410@410@410@410@410@410@410@T02P41 +0@410@410@410@410@410@4Ec/k +>c/k>dL10@410@410@410@410@410@410@412@0:0@410@410@410@410@58;TTU0@410@410@410@41 +0@410@410@410@000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 +0@410C`o?c<0@3m10@410@410@410@410@410@410@410@410@D01P410@52000000000000000@0@41 +0@410@410@410@410@410@410@T02P410@410@410@410@41@`140@410@410@410@410@410@410@41 +0@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@400P410@410@4h;`00 +000=>@410@410@410@410@410@410@410@410@4500H10@41>S/k>c/k900f>c/k?0410@410@410@41 +0@410@410@410@4900X10@410@410@410@41?@de?P410@410@410@410@410@410@410@4100010@41 +0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@413bT00000=C@10@41 +0@410@410@410@410@410@410@411@060@410@410@410@L020410@410@410@410@410@410@410@41 +0@412@0:0@410@410@410@410CH0=`410@410@410@410@410@410@410@410@000@410@410@410@41 +0@410@410@410@410@410@410@410@410@410@4100020@410@410B0Y000000h10@410@410@410@41 +0@410@410@410@410@D01P410@410@410@4700P10@410@410@410@410@410@410@410@410@T02P41 +0@410@410@410@PIP0000000000/08/>P00000004U38D0700`000000000:T0002@0000H0000/08/>P0000000000 +/08/>P00000004U3:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 +0020?`00000000000020?`00000000009T00010000040000000002E0000@000010000000000O@0<0 +30000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o000000000000080o +?PlgA28a64@4@00030000000000Q0000200001`000080000B`000400000`00001@00020000010000 +0@00010000000000000003@400380P0000000000000d1000b08002@0000T00000020?`0000000000 +0020?ch?=d@R:>^2?^W/900000000000000000000000000000000V8@000040000?0000M0400K1If`P00000 +/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0 +000001`D0@50F]/8000Q/`0D000Q00005Wl10CXD003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g +00000=9]PWLj5740>Q@4L@00100Q/`40>QAaoooooonh400017440;P@0000000071@Q/c0@00015CDH[ +:T0002@0000H00000020?`00000000000020?ch?=d@R:>^2?^W/900000000000000000000000000000000V +8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f +9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8000Q/`0D000Q00005Wl10M0P003Pfdl0 +b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWO@88T0d204R@00100Q/`40d229oooooonh4000 +18T40;P@0000000071@Q/jP@00015CDH[:T0002@0000H00000020?`00000000000020?mYG4T@hPAQ4 +:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 +0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 +30000000000Q@0L030000000000Z@000900001P00000080o000000000000080ofULBA3U744<4@000 +30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 +000003@400380P0000000000000d1000b08002@0000T00000020?`00000000000020?mYG4T@iAa13 +0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 +000009010000000010048T<0H@1/06T0HP1b06T00000000000000020ID0000000016@>:>^2?^W/90 +0000000000000000000000000000000V8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 +W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8 +000Q/`0D000Q00005Wl10H000050000000000@00005000 +\>"], "Graphics", + ImageSize->{216., 142.33526011560696`}, + ImageMargins->{{63, 0}, {0, + 10}},ExpressionUUID->"2447e6a4-aa68-4d51-ae16-1b323b958d07"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "R", ",", "287.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cv", ",", "718", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A1max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A3max", ",", + RowBox[{"1.", "*", + RowBox[{"10", "^", + RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { + 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, + 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, + 3.5720180086697855`*^9}, {3.8036340991916904`*^9, + 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { + 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, + 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, + 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { + 3.805011464771186*^9, 3.8050114718561707`*^9}}, + ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { + 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, + 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { + 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9, { + 3.805012937157796*^9, 3.8050129373557386`*^9}}, + ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, + 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, + 3.8038139603247657`*^9}, {3.8038145991463203`*^9, + 3.8038146177733107`*^9}, {3.8038148807248917`*^9, + 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { + 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, + 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { + 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, + 3.8050114876341295`*^9}}, + ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PneumaticQnode", "[", + RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", + RowBox[{"PneumaticQnode", "[", + RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, + 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { + 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, + 3.5684508487293115`*^9}, {3.5684511750240593`*^9, + 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, + 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, + 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, + 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { + 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, + 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { + 3.8050171017558465`*^9, + 3.8050171041087675`*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ +4695ea7860b0"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", + CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, + ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], + +Cell[BoxData["0.00006283185307179587`"], "Output", + CellChangeTimes->{ + 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, + 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, + 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { + 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, + 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, + 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, + 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, + 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, + 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, + 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, + 3.8050129604927225`*^9}, + ExpressionUUID -> "10453b72-67aa-4296-bc81-0e9902a66aba"] +}, Open ]] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["The system of equations", "Subsection", + Evaluatable->False, + PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"xine", "=", "xin"}], ";"}]], "Input", + CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { + 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, { + 3.80501290805445*^9, 3.805012911450751*^9}}, + ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], + +Cell["\<\ +The valve areas are limited between 0 and A1max and A3max respectively .\ +\>", "Text", + CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { + 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, + 3.8049255789765744`*^9}, {3.8050115008525534`*^9, + 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ +46ac2e220b0e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"A12", "=", + RowBox[{"A1max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{"xine", "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A32", "=", + RowBox[{"A3max", " ", + RowBox[{"limit", "[", + RowBox[{ + RowBox[{"(", + FractionBox[ + RowBox[{ + RowBox[{"-", "xine"}], "-", "x0"}], + RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { + 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, + 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { + 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, + 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, + 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { + 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, + 3.8050115294029164`*^9}}, + ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], + +Cell["\<\ +The flow at inlet and outlet are equal but with opposite sign.\ +\>", "Text", + CellChangeTimes->{{3.803634260546183*^9, + 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ +27a02bcad99f"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, + ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p1"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { + 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { + 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, + 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { + 3.805011288694769*^9, 3.805011290232191*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p1", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { + 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { + 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, + 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { + 3.805011290999591*^9, 3.8050112923130174`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng12", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { + 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, + 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { + 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, + 3.8050113217262278`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32pos", "=", " ", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p2", "p3"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { + 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, + 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { + 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, + 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, + 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, + 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, + 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { + 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, + 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, + ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32neg", "=", + RowBox[{"(", + RowBox[{"signedSquareL", "[", + RowBox[{ + FractionBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{"2", "/", "kappa"}]], "-", + SuperscriptBox[ + RowBox[{"(", + FractionBox["p3", "p2"], ")"}], + RowBox[{ + RowBox[{"(", + RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], + ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", + CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { + 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, + 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { + 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, + 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, + 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, + 3.8044096936388044`*^9}, {3.8044097370500917`*^9, + 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, + 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { + 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, + 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, + ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ng32", ":=", " ", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}], "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", + "+", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{ + FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", + ")"}]}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { + 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, + 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { + 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, + 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { + 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, + 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { + 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, + 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, + 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { + 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, + 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { + 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, + 3.8050124108054376`*^9}}, + ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Equations", "Subsection", + CellChangeTimes->{{3.5720181646087046`*^9, + 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ +bcd550214e3b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"localExpressions", " ", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kappa", "==", + RowBox[{"1", "+", + FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", + RowBox[{"Kg", "==", + SqrtBox[ + FractionBox[ + RowBox[{ + SuperscriptBox["2", + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]], "kappa", + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", + "\[IndentingNewLine]", + RowBox[{"Ndenom", "\[Equal]", + RowBox[{ + SuperscriptBox["2", + RowBox[{ + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]], "-", "1"}]], + RowBox[{"(", + RowBox[{"kappa", "-", "1"}], ")"}], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox[ + RowBox[{"kappa", "+", "1"}], + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"crit", "==", + RowBox[{ + SuperscriptBox["2", + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]], + SuperscriptBox[ + RowBox[{"(", + FractionBox["1", + RowBox[{"kappa", "+", "1"}]], ")"}], + FractionBox["kappa", + RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", + RowBox[{"cp", "==", + RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { + 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, + 3.6266954813855815`*^9}, {3.6266956813155727`*^9, + 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { + 3.6267882846603336`*^9, 3.626788286066334*^9}}, + CellLabel-> + "In[181]:=",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"], + +Cell["Expressions for enthalpy flows and mass flows.", "Text", + CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { + 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, + 3.805023619226123*^9}},ExpressionUUID->"b7ccc7a9-2c6a-4c2f-bb04-\ +1416404e4b75"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"dE12", "=", + RowBox[{"qm12", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"dE32", "=", + RowBox[{"qm32", " ", "cp", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", + RowBox[{ + RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm32", "=", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"onPositive", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", + RowBox[{ + RowBox[{"onNegative", "[", + RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { + 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, + 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { + 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, + 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { + 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, + 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { + 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, + 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { + 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, + CellLabel-> + "In[182]:=",ExpressionUUID->"42162839-eb01-48e9-84d7-0fc97cb6b46b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemEquationsDA", "=", + RowBox[{"Simplify", "[", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm12Pos", "==", + FractionBox[ + RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm12Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Pos", "==", + FractionBox[ + RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", + RowBox[{"qm32Neg", "==", + FractionBox[ + RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], + SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", + RowBox[{"dE2", "\[Equal]", + RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE1", "\[Equal]", + RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"dE3", "\[Equal]", + RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { + 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, + 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { + 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, + 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, + 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { + 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, + 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { + 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, + 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, + 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, + 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, + 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, + 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { + 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, + 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { + 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, + 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { + 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, + 3.8038150256887856`*^9}, {3.8038323443356476`*^9, + 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { + 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, + 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { + 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, + 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, + 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, + 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { + 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, + 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, + 3.8045948871586123`*^9}, {3.8047804062308292`*^9, + 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { + 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, + 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { + 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, + 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}}, + CellLabel-> + "In[186]:=",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Boundaries", "Subsection", + CellChangeTimes->{{3.8050179141015143`*^9, + 3.8050179155584116`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ +200441668409"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemBoundaryEquations", " ", "=", " ", + RowBox[{"{", " ", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p2", " ", "==", + RowBox[{"(", + RowBox[{"c2", " ", "+", " ", + RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p1", " ", "==", + RowBox[{"(", + RowBox[{"c1", " ", "+", " ", + RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"p3", " ", "==", + RowBox[{"(", + RowBox[{"c3", " ", "+", " ", + RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { + 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { + 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, + 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { + 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, + 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { + 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, + 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { + 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, + 3.805011664682269*^9}}, + CellLabel-> + "In[187]:=",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Independent Variables", "Subsection", + CellChangeTimes->{{3.6267881656593337`*^9, + 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ +47e7f85d055c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"systemVariables", " ", "=", " ", + RowBox[{"{", + RowBox[{ + "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", + ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { + 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, + 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { + 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, + 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { + 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, + 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, + 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { + 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, + 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { + 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, + 3.8050116688192434`*^9}}, + CellLabel-> + "In[188]:=",ExpressionUUID->"d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], + +Cell["\<\ +The inlet flow is calculated as the outlet flow with reversed sign.\ +\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qm2", "==", + RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm1", "\[Equal]", + RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qm3", "\[Equal]", + RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", + RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", + RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellChangeTimes->{ + 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { + 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, + 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, + 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { + 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, + 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, + CellLabel-> + "In[189]:=",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellLabel-> + "In[190]:=",ExpressionUUID->"f9091d30-60b2-4284-8990-0c9fbbe94279"] +}, Open ]] +}, Open ]] +}, +WindowSize->{974, 392}, +WindowMargins->{{Automatic, 268}, {67, Automatic}}, +PrintingCopies->1, +PrintingPageRange->{32000, 32000}, +PrintingOptions->{"Magnification"->1., +"PaperOrientation"->"Portrait", +"PaperSize"->{595.1999999999999, 841.92}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "1ec93163-91ed-41a0-ad0b-6c312ebc703d" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 328, 5, 70, "Section"], +Cell[CellGroupData[{ +Cell[932, 31, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1290, 39, 740, 14, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[2045, 56, 639, 9, 30, "Output"], +Cell[CellGroupData[{ +Cell[2709, 69, 484, 11, 30, "Input"], +Cell[3196, 82, 1553, 21, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[4786, 108, 1588, 33, 183, "Input"], +Cell[6377, 143, 1828, 27, 30, "Output"] +}, Open ]], +Cell[8220, 173, 272, 6, 30, "Input"], +Cell[CellGroupData[{ +Cell[8517, 183, 98, 0, 49, "Subsection"], +Cell[8618, 185, 793, 13, 68, "Text"], +Cell[9414, 200, 21850, 272, 161, "Graphics"], +Cell[31267, 474, 2181, 47, 183, "Input"], +Cell[33451, 523, 699, 14, 69, "Input"], +Cell[34153, 539, 1840, 39, 164, "Input"], +Cell[35996, 580, 1410, 26, 107, "Input"], +Cell[CellGroupData[{ +Cell[37431, 610, 200, 3, 30, "Input"], +Cell[37634, 615, 900, 13, 30, "Output"] +}, Open ]] +}, Open ]], +Cell[CellGroupData[{ +Cell[38583, 634, 145, 2, 49, "Subsection", + Evaluatable->False, + PageBreakAbove->False], +Cell[38731, 638, 323, 6, 30, "Input"], +Cell[39057, 646, 373, 7, 30, "Text"], +Cell[39433, 655, 1216, 30, 90, "Input"], +Cell[40652, 687, 214, 5, 30, "Text"], +Cell[40869, 694, 191, 4, 30, "Input"], +Cell[41063, 700, 1244, 28, 76, "Input"], +Cell[42310, 730, 1243, 28, 76, "Input"], +Cell[43556, 760, 1946, 47, 94, "Input"], +Cell[45505, 809, 1341, 29, 76, "Input"], +Cell[46849, 840, 1405, 30, 76, "Input"], +Cell[48257, 872, 2040, 48, 94, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[50334, 925, 159, 3, 53, "Subsection"], +Cell[50496, 930, 2181, 61, 296, "Input"], +Cell[52680, 993, 291, 4, 34, "Text"], +Cell[52974, 999, 2193, 55, 124, "Input"], +Cell[55170, 1056, 3809, 65, 304, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[59016, 1126, 162, 3, 53, "Subsection"], +Cell[59181, 1131, 1455, 31, 105, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[60673, 1167, 174, 3, 53, "Subsection"], +Cell[60850, 1172, 1199, 21, 28, "Input"] +}, Open ]], +Cell[CellGroupData[{ +Cell[62086, 1198, 88, 0, 53, "Subsection"], +Cell[62177, 1200, 146, 2, 34, "Text"], +Cell[62326, 1204, 1116, 22, 143, "Input"], +Cell[63445, 1228, 146, 3, 28, "Input"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve42.hpp b/devPneumatic/PneumaticComponents/PneumaticValve42.hpp new file mode 100644 index 0000000..a0ef2b3 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve42.hpp @@ -0,0 +1,1125 @@ +#ifndef PNEUMATICVALVE42_HPP_INCLUDED +#define PNEUMATICVALVE42_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve42.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:57:34 +//! @brief Pneumatic 42-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve42.nb*/ + +using namespace hopsan; + +class PneumaticValve42 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[16]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm34Pos; + double qm34Neg; + double Ng32e; + double Ng12e; + double Ng34e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double kappa; + double Kg; + double Ndenom; + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm34Pos; + double *mpqm34Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg34e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve42(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(16,16); + systemEquations.create(16); + delayedPart.create(17,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm34Pos=stateVark[6]; + qm34Neg=stateVark[7]; + dE2=stateVark[8]; + dE4=stateVark[9]; + dE1=stateVark[10]; + dE3=stateVark[11]; + p2=stateVark[12]; + p4=stateVark[13]; + p1=stateVark[14]; + p3=stateVark[15]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) + qm34Neg*onNegative(p3 - p4) - \ +qm32Pos*onPositive(-p2 + p3) - qm34Pos*onPositive(p3 - p4); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm34Neg*onNegative(p3 - p4) + \ +qm14Pos*onPositive(p1 - p4) + qm34Pos*onPositive(p3 - p4); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng34e = onNegative(p3 - p4)*(onNegative(-Bf + p3/p4) + onPositive(-Bf \ ++ p3/p4)*signedSquareL(1 - Power(-Bf + p3/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p3 - p4)*(onNegative(-Bf + p4/p3) + onPositive(-Bf + \ +p4/p3)*signedSquareL(1 - Power(-Bf + p4/p3,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm34Pos)=qm34Pos; + (*mpqm34Neg)=qm34Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg34e)=Ng34e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE42_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve43.pdf b/devPneumatic/PneumaticComponents/PneumaticValve43.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75fdeb2ba7b1823b2981d6872d5075b1f42390f2 GIT binary patch literal 83608 zcmce-1#l!iwx-=?x9v7FGcz+YGqYW0<~FvW&CJZq%*@Qp%xt%zP3!(eRe0qFaLklQwZhSgvfQ_k>89vLW zNf8PkAD>Rt+{y{y@Oic}Z~_PejBJeoP`tcQj!q5$18XR^^bK_l$2C@X@1v^jr;t;1 zde}@3PMM2CSyGqy`yLllv#+tq^29>&jqB1M9%x@AR)7dE;<|>z@uWGt#!I@-qm< z3!@K4p-%QVi3frzFsE`}z7V$|rS zU!xGd?CeW~fpjxE9njye6CC?Hx>t7Rh6sIiFUWrK4kyHO3`8A1LV(RJOv!1&{L&Lz z{M;cjHI#!FB%punOmjU#g!z*Y*k1lDJ{bkD%mv(IyEulo~Sg+!eWrOU?VmBCeT{7qySPh7)`#PNVj-tnh zhlsfjw%ke)lBm+$c5+pn$JPpN#&ZSKKxDxnjz<;I2-4LU*p5)wn6UOl%cd4}+E`8; zyb!4vl!CY2z?tqE{SRlGzRs!|m?eF5Qu}@T((YHS94_sk%Zz|-=L*GnJgU<-2*TpV z{R^588jp+{_#uTWlc*8cG@WN?5K9Q@P?6Zft*+>^>T`_5eV5`53Cc0*mPM(zx6QQL zj)6y!gwT^HeOwqXI+q>w>O}kIme9)rKVbfBAEcq?iQpOM7U(hByvQbanZ#f1#V!V= zW8pc^xtfw;#h52A{a*Udc2d@1e3W$&DI0p_*TyG^Qeo{cbu86<0VBv3?ogJB_oO*^ z)ilg+U(9d|l1h{dQ>7SKvZCq$oDA!6o`%15LvFZB$_Q=IJ}w%{2LvzSu;1PRsXp9$ z0`k2nM&RvZb5i8&=3X5D`^`{Ilsat2b=dh5oo~tmR-vIQ&enT_vNg9erIa?d=yCzb z&PlRYag;K&wY=(E$5)WD3p9hR=|2tnm2-M<_fC_Cn6r^#)s=#agT7;X%v(-=RAT&Q z=f@7!*2nw6ac4$w&@KR^Az`UpQtkTrFB>X!HUG#09dT0d3ngFE{BaL1rbYo7<*xhH zO+}d{e4I=NtM*H`czEW*=mL$_P&{G^q1t|_B~_p>G*ko!wT$@FDN*ytc~UH7kUXMhpsG;Oin@|Ndvc%-yK(sa5!ZL^`JO)t zmIl!L^nfIxJjr`70TO!6mQi;TLN}!!PVR|-m=k~Ob{<}bnC^k1MHc(%`0DQpKK&)x zZS{Lp;`K1CW^WWm3#$Q-y>^_bg3Wz~vHcZPlpE7Vy34wsrt8FrLNy$JT(?w(M(yCO`2feTMd7z6U~6(I6_k$VoFY*Qi0FS{m1b6p);WWyuhau62ND`r!zA6Jbntu=Z$|H>D1*6 zEdWMNf2DC_pvV9Geu~fEcSUV&{@nUIFB2Mi8hU)zzvbyq_9iq8pC-0{H!*&i*#F(c z^l9Sw+w@uX=l7pJFn(J9`0}Tg%HQn(_;m6HrhvcvkvDJvd{%(r@Bh)s0F2EI1Z~~$ zwLVSs_$(Z(`0UJ#_&R^37W%C0XL3jUKa%nl3Vh#p>xkV@O86O8b+dp%Oe|bkIXzt`F4{#8&wYIah z`4esSf16=kr23d)0nmrK%u@@^&sIZe3oOf&=NBg5lp^XJ$qB(Qio{p?eM6-+0`ZUM zrH|9C>gH*KYfrKvTSJA}ti_V0O^66j`&EM{`K)Ma^Po)fmIIaA4_#8&9F{S1?x-F8-kS(y{ID!bOBh}o7HywcLz z9iW@R8daNFtFAX?y38#tLAF~^#gpx9vEtR1q4KnKTaWeJw6=JgnnCFvytRR-d#4$j z4O%wr2A1y|s33%8H~je5rSY<%FFL#4`c<0|=eAnX5MP<+8^~o+o!Yp$>p_-az8yGo zm5p;&DE>~5HOpzHF;L@lD{=I`2Ai|ta9pHomQX5omVzC@j-M4YRKuU(4aFK6*LHL^ zI{kEw$YecH=%^9lZP!HVA-6gX>pMadb<8(6fTd?a|Qj*5il7haKe3=HJ&W*&O z3k(B7=@O;+qFb-!T$zb(71gE{%=x`M;C0o#fCU@4-FE}yqDpR?t)7>v0UN#E@4t5^ zmOIMV<{Xq%TXZ_Vc?(AN)upd7IGvSIRcS$h4@^{D#*H=qGWtkp{TVf^9eq2L06Ou_ zTEhIr)Adq+w(YZpCQ|HQygRCJXga@{I;^*kTHEV#nkAg-=$t)}@rpxyZ5Q$8Gd*{K z^m1?Dwh5yx85vZLT#HKsU9~H^_7UJTOM`DP%1AD3w*CdUvNGGp+*cFq(4yO9I}p7@ zIJ3*Y3U1k}z!Os$!r+bjIDVzXV*RR8!Q_g*qp)_{Jss%kIU1Jl1y5P!kqot$%J@C>cKd3bE zW3z3pCIk6|RV~QqbTqbU>3(*D{TCa~&lZ_cqxt$ZqGqi%<=LZ7@-`U?PhBsE&{6i% zx*f9PX=GX54{K6)Fsy^~4mTNRWjt^u1vF8n83VC}2dcUXxvV7y_ffTvu-j*5Jr zd!UMFbQHmnolr|7dUTjTj6#Yq-U5`|dJ)M*#$JK0YjX76JZyk(QiE`Bz%FURvH>BZ z9rW4~&FIex)Es_Cq)cg1N*@~ZUs!zIEBurC?HGp@{hc=4QPD0mX57d`#GskpfdJwB zAg>F}>FDS?IW^(pFNUnm@aTVyIrLDwd_$a-?*CJO{~EjhjOU-DGy@|W%K_D;)5`qnjw(g}9hbuGCU&3@zqsHfu zP5-!jWjt$Ks{^6dC+aoGkt{5$y?yXX(4pa>`n?rX=tFFJI8k?UBvEtzJokKAlbWR~ ztH+mqyZYNIFG;USVbn72aDRzm94<@7H4A%%h~?~gC(hjY{dQnr4DEy6+uQwh&&K2X z(GK6uW8wQ--a-Zu-urqgUPv$*m$+;2X&&5UetGn0h8(|*`xV87|sj2$s z%hy|1*T`}Os)j?KnX;iHI`bOBxAUSR?z86e(@TfSv8hv#t@Ms%UOukP7+Kv4U6c(z zt;ySuB~y*J%irJ&Y1X?v4=1)>NDoTa0dL6MIU8i#UoUupRvM33An9o$~joh|G>?|$zS z2MM}vK@A04o?V*9Ex&DY`X60UFMnIz+4E!eSeYZDk%vo$B0Fy0EJcTigmh{2bL^mOih5>Fu zdt@?0T%7G$exKG_%5Qs`bKu6I(JUtiN;6b!@FZ^em!0A+1H748_RIO| z^f&ng&d_tUDg9}eAhGi*D`NRYOeS`DkFUpt9;uCqo|iHFMu2mAR3odyI3A#1`#z*H zVDcidF^sfC!?7A8-M6U_y-JOl;B49N1MaHu#W>A5;Tnw^;=&*4KX$M%X5 z9BA$da^<7<@k1DVks|8IJaE&ng94bq$q&nncb)q*5vauzZ=<0>NbF-N1fz+U0!_17 zl*s}7b+DB2qXKSI!1|5Kh+6Z^qmnfeqJydyF|uC6fyt~g)3bG7u}#g>;0Pjwq;+Ea zc@t1XC}hK@8$@@JrNA(Hanc&Cjdkrd$i*k3i)@+`rzVSWF1tQ1`5#a=( zQNnW1jgc{3+`j@N6S}zLJf3S0&h}UlkT$r)gqk-4<=|GFJ~v?N{nD*xczn2RB>JW( zFx2!Mtjs(}K6G-M(DChjWvyG+={y+dA-4d#)6Zi@p8ZVsTb{|K!P8cn$z)?K*K=5^{*hr82;HK~0JgN1{)`2|aF>{a} z`6l!&Lg*LDEB51!&3+#Fa1Wf@xGKs4%6%Qi92-=ZB$C=yRi73sIf4Z{It4+F4cA2W zMX}G!fF6%i_Q99)7%0V=7%G6MaqQqi_b&+*ku+vIAdRa{0(fHa7c}vSZyo3R)KR*! z&c7A|JsgKC_?7!<$G}vhQG~D%54XVg;it3~^SacgzeE^B<+3cq3Glh%(8vWlQ7bE4 z+ims0kvk)Kw}k4Y0@Ii$Y*FEBQrZ=tOf2ds#x+U7Fv*8|(IU_ZS+a{+DDvm$QfUYs z%xiK6U`kLy85@;|o)91q=ra-`4hkWHDb+1qV~+|;*kXN$$s7U0r|*pEPXb0Lrw(mS zgdzlv#w%es@HNhd)RXOgjrAHQ$PNTI*StCg;Q_eu#u`$#`WY`;x%|$+vwvr^{ z_)@P!5;7pO#a0_DsZfAkm`#DFE&e~5{1@rcI>;r`SA!VNY+ILhr9B|+cP zBV|0rdWp(hR=X0MdpxGhscazSI0#pkf|+$N@<(zA6M*T9A*#h1K7m#`vKT*gENt+- zxTO6T;Z)`*2!Z0A+u&f1TZBemtc!_4UR0y-AIB>D6PMs$tw-0ugLSE7AAo~(mENrB z$A5_1Y1||7-=`kivRa$sa-WO}R7-N=yIj z66LgXIw1CMzS<$)Q`*1Z+f!Hatsp7lAa)P}ib0*l%VRh2Yx=X^zJ%y7IxBdc8*@Bj z2@!tRD3Sw0Y^x9p>GTUG$+v8vM%X$tmkL#Nh+&<4j16z^MW~rSPYkIj58H<#bolL} zKkTq>G3^U1|AW8!CshDeb&yo>*>S&!iLh{d&OTPFeaddF-Vlp(TYjNU67ggPBZ-*D zxuqm;J^~_%si%sT;%JkX{cH;}KVcCdc!EB?$-cWk^L(I_XQ>RNnHO{myZ@JvD_Sio zrIYwRV*EKgvNF;x`=xmsOaa?Z;VMBNf~OvWnN4s+TSw9Rz_A_35MrP{bb5rLU-M(c znxHmj5rSW?T*dFfO}D1QY6!q*qk=cp)6u!`-9cCnIq?O%I~Jh6iZa1F@t4Pf2fO97 z3Sz+5ggRk^!E1zIL+}TrA}isnn-R@K8nF(b2-jz}`GXK@=6dxZ%xIZgC=1sc1N(r% zXY6X*{5TFSY3*b%owmc+mInpF%sn!``w@67@lAjDTUiawsARr3Z$P9CH=cXgUISjw zbgt+x^lXCKny3L-wd(4D*&jbim!3+8)rdh*5!Xq0TtwRPokd=Z$i`Z>kfC?ERk%Ec8e4@)hMunC?;|%> z_zqLh26fLG7_&&;MQKGV5=);cN@8HF=4zXjSLn#n3K2Z!sOLV4c-XKCY%|W23QMO= ztJTjcWB$&K#i+5gc4ShCCcvKkoty5y>RL7|l~saKY2sLCJ#lE_ncvm8!9fl;AiK*~ ziQnKcMk^Xp(?KyxG7Qs~nKmZwK9^Zc#_e+T4D*z#mdh*e8y2RP`#45r)Goy9!`Q{X zG6|PCDW{t`QjzjJ@_hF^a`~F{ea^@28P+z5XF@f>BL5Hq%(!a>Vvfm(j zDQgMSJ}d%k7fX5n(OSAp%L?Z11i&%yvnA}VqbcS0VYfgu)Zn=9Fgomb0D^!2NLn3f zPIvxkx6yB`tQjRJ?guDsmZIB1Kamu$VR4w7)7WqVTUqmP>1*NM6ZlCuby^?ZJwNWq z1L7}zH~nW!ux*nJ`9|f<#XD$=FQf<}0xJw554p*c-*=sp;n+E%1>xFBH>*Jde31uk z(Q{M6D}M4)HztpQPz%~Kz~smfqEt#_kgv_Cm0E%eN*bKXhk3J40GW;(!XD$4>x!AK zP6FRJ5_Y}@pLa^S7~-uGW#;5{ppU!ZI^N|cqg!q>H=4`pi||wRi%lb4L8YSAz&X9M zPRvBBYc_xZpW4*-say338zaaEg#cMo7p7+~y^D8pd$~7yy*_5?;qq<07Yy9ta#};; zNsREDBB2LfYm(igmFX{m1>OMI;$m8eTB4=H@ZuX~PWp9~ zZZlztiRx!6!|k%+4gxCR(V$1>@i;U-^=r3(`{WDdX=6-w;bK0S*jq0UTHyu+5mZ&X zT^TfOI-4N+=8+{@9}p6I@-}G!^&0Ee5Wk2x8RkV}Se+as(O%NS6i3 zAVEiR;VPobfE|l$&p-}4_$82a7x$pFn}w)xVo!kzdac7ZhG6!(NNgACro3xU zm!_5{{Ya~FhrWMqqyrzKmK&bL;0^gu9iwl@+$CCY$B7H`=WK+`c!lJ~o$*(nCE3)MW zpg?$EXNQhF~yh1hAhBlnN0(3U-&<7pq&hRP)< zzf&eHV4wGV+MeaYsgl6@#AOIm{a9KB0rtnv?z@2G(OCRz!idq>fRrRE?Zl{w#7ES? zoGb0dP{X}i8O3I+3?@`YEwzYoAy_onV?|I^c z+KiYLnKSE~r$~jQi+}!|TJBphoXTg9@tvV1_4!tC;EWAC+m$)%ev@&PzUV-%JYo~= zL@KotYm_AIZ?@mKMCS9Y<-plaFKbSJBf)fM zmYg5i$$1sWtr20PQ-99f4=|okydTR@=)X?cB`IrY5YW~GF&hd*qNyt#wCJv6z@9|9 z?Jqf-ejy%J#%fKuQgY;{tS{d1+k}z3IB1b1tS3qs0h$0S%PZCk)T%C8%25fMi5&&9 zwqut{1x*8-B{OS=J@Y5lH4dk*s_W5|9WEN5 z+GmnTj=a5eM?tO)qN7m=o?+*$4ZPO6L=s%bSLHZGMvQ2a3UYmQ^oLP7U%ND@{XcNT|{$Dr<>)h>|2Iw)FDQDarGy@O9IlJnWr6ETfwS{crX(e+IeYrIkK-HsRVtec$}{w`m&j&WfY6OyDAL2 zj6XWBFB_uwr1IJK)Oka*f0A91q#0uh|Eh`OiNo8BE8k;}ez5Dy@n>s4)h%TEsgv*S ziL&yj$01Z{o4IAD1-QYC$+BzhFkE$&i#SG5NcD0C^KtZk(0{pqvN%}XLy^Q1-L+wV zFYRybY1dKg=*^m#Hn+K!M02j9CgVFs(Fp1uc}0Cy)FRXsdzUXQnj?=P)FH`X#$`A} zlPah*uwqK;)%=a$YkeoL8P!ky)R+HxZk8Vu+g7zF=%Hzx_K1Sd(Sw(~LWtYus+M<; zLT4&p+RQr=G9#DYcEf&C&K4Z>EVS+rOUx&C+Y^z~jtwbzULL9tbycXC(TP295lD$2 zOFbKt+zA6j4wGOu%&-j1m z`x``36b}?J#?)&-`>Ew1R;P}79?{)Rdz43r?%;e+e@_PTMMc=9MF_9mJx8x=oa|2L zb__|q5-b`buAI?^+l7zM_8SuJ0VL2@Gdmul>u<}nK$!CgHs61^=)>HBXqkg>4{p>! z9>>2>joQy~06%=~qZi#5-8)DuzE#Y#lNw?uqHwyZ$bb5M21QiaI4slDdLSmWfgV;mfLVzbz%@c7-IYP>tW$z;d&h95BzIVaO!s zh3;0=wgVy2iB^G>=xwMKQ+2y@5PZyIZ6b$5~)Qx!=Jl;E|OHL z(c6`{u5qfPry(3!^ZX*yT~r#CKgH3EpjSevhHD@r|VEdvk$cRJSn={q5jiaSx&3X-V;eApvN}nL5(#@FTmqBD-69`f4 zg^{ZS348Nl6xS0^1o+o+MX>_;9V#I0v4{ixpZ3h!za>ljLFqu6QEyGZ$U+r7ysiLM zetp=L6qDCfV;ia8!`l%L@*4+nVr|x?dM<`+9z@x&$n41lQL^aV`-Q@5fFvIchs9qC z$||jZARHc3;7JQqI5@1-X}rr&dczE3$#NMx+&o7r3^dkBXa4in3cR8j=65A)(#SO1 zA@Mw`*BN;O1xwp?2QicLT*L2;@wHPntgVrynF)q&|HGE=hTo)}ak!G4!k<99ehTg; zX?m@nT{HfGErPtHBTmKNQVwd_Kt5p5CeFy9?6Ox|dqM7S{cv!9n0p;SyW6n6^0|X> z-`(tZKI2=@dVjj`I{s0pF{s6wSsuat9Ut6jb9KH`hG*&y1&lD3o^XCOO6cPz0eo@m zy}zSIkCf>nMff8f_l+Nzg)g%{wJSqNzxIn|pESVid3MF-{Uw1`T`$wKkZ6y&Kdc%5SqJ{-nlTFtJHx-$jQ^&&{~)V$|39$p z{{XZ9##jH4L=&3-KwFj_a6nYeA*cQ;>CYf#s6Vr z{bTzV=lplj`#0&;`b^I74`BKSXa7Y`b^aBczf=9+aTsNgyr zqb{dmTU(*MRx6(R`Q|0=s{i7&lUkQo_-7xhz4}i{W8f5s;<*7k^&P$_kXN~>8@s!W z+a>@{qW}Bj5L!@FRz(mRA5E8cZM+dx-oogkdRd^+X-<;^Hm#9!ault!j2{)suw2%h7-z5W7*(0%0-PvI-1EW`G8Wq7CB)^*dE>?;Y^ETp# zJgX`2RF_2p)tS96?t`DT7xo~muNlMN47LQ$pPnAr2K(WnT|FIixYe7dy5H|j zk#HIEvm?+|IT#d1ZX|_)n~M`@D>_R_-wAqBHbr zV+1Ksm~7z?x_u2Kxrl4P;)XYcd`hI|hCuB)aG5*l@ZTW|KnADn$u?>+vSzg83WQpe z{b>%oI9M8i#D*WJPs^+r_$*KR#p#*QW%DBPqP*HnQiE&FoaXo)(i@s*1_ll*>jQpf zCV4fI1CSmr*9p!{;BI}cuS`eKaUq= z)?JT7(U}OM6SfS2M7T;3HT4jK@QJf#JVt~WhR5%3cX?+7ZH_x#ww2InmhZ1KAf)`z z)%^y(hOI#HfltR{RasrH?_8bM6_)1+qmSfgkT@9+_cK0r)}HTua>_VUUWfphqRoCA&JbtziL)XT;2W0Rf3+#P9!W+0j^7KRu^0fH+&>Go9UGage zm7eZbV9V(8E0}d8hdNncZm?UAMOtvOT8WtpU>7=ww;5&>K-ybzdWTw-oRYBIA+htl z%MVK@+Z@xfM?x-v*ZDQrkxvG6r^|&Bdk>pJpLX z6Cj;w=43kTz?N*P)8*H(t2DcMwgy9jJXl>gKPV)`QSBG*fI0#f(k18zHY&$b)(-Nn z`Rqx+;j7Y*QBEjnK*f}uPmC(Al5KHD-PmnHCXr(~U-+EQ&5C!2S+trG3=biK>Q1ff z7oEQ?YT?MC#F!Q}Y%J)&3N4p&kn7oq4U$ns45$||X=PX?MAG4)saHDSkjYnFQ?>n8 z>wXqot9epSS&>k*xGx82E4|fZXs4|DjQddo<5Ow7YP$abE6pVz)%4-sX@8=>e8Q4s zcqyXRHzQ{gs+h`AD*&l7pm8-b<>EQKHER_Zf%cotJ&G0pwb zr`NX8PD$kmeK3*QZn_)Mph^S7V=b0JPMIFE|pTHMZf&+xm&Cg-Megc77|BXl*pj-{Rx+tg65$$g|#dchC?J z)&N9`h-o3*SZnp_`%g=2jhEjrLk8Vb;nmej+=~3a(($2=V{XUMP8zg{7A=ei`WqN+ z^Qw!X-Zb!=JYFB8aD@19Zp>o7P-XjzkuloR;w~>m7b!xD8kvd*bdNR`QUvD>Pj2kO zh!6K1^$h=*x*#^_>Y&fMG|i`{C%3?WzA6x5sfv6NXPx)C1vf@W8F(t%{p_aQNh#63 zSow#a-OzpQ;^*WQ9wHyv9C2&+*P^)=PJJn+tjP%}o5k0T+2jLy{MvrFe(~LFe0nmGW-cxPV=Rp)1JUU;hFsr9{Zb#`{aUHN z*9c%ub+WGz(os1LE)*JviFZFrO}JqQHn@&V$8c)gIH|y5)W{sH%VI!V^HE{=wZp7M zz!+%;TCYx=3J?Kx*yogZ_H^$-a#-Fs7MS`|^KiwMAZrvQFG&6>GTgMB1xpc0scBis zOKCFG_cz^)fWwKirM<+Io}7+zpF(PNUq)&j_+rT~i%WDImr-Dl&p1mGj%-fN9DQd^ zs!u@axOR8vBD&FLB^kb*AAciq9-no!a>+f}&3310@RLVYe=t=j4~3B=;_hwQBb&oA za2Em$M=lr(CHSjAqIYVvG*ap+Jdhiuy|qQu7ZF0?Y?^+7FTI!9nthlT$S=q*ZUa0nbnW5^;lA#1$%YPf}hLXw>0cT$Ockevna>L03jtY z#4k}AD^Sb)H7F72L#fNW)!f_gIU9;aIRt3cCOaE%5kd^p>T*c2$JL|1!&4$1&P$#` z8NhC234;iBN)|36+tF%bfS|jPI~40jC`%~%9P_Nc~$eI>qjyA*ob-v1J1HxDuV1} zB(Z~dparj8jiM;kyiJTlHYra)^n{)2_;O-+%J!5r2ltp@L;)e?u;7$*x-JKkQQTQ~ z_9N`_Afwm_kLjuZR(bR{juEZRsgfRJ()Wno;wd3dF z`QcVxyCu)7uO%@U(-X$%fPu?IrP*=b#^JlmL9wWpL4^s91S*Qbn5Y3OSp8hxqeimB3++~)9{3cCkcZ!BNOxG+Tq4|0SV>VC zry!9T)m`lygng2uRYYfD)sDT%ZIyI~k&5LK%V;+pNS(_FIO_cubDBD$wwq{smT zD@*dt?pH>P2YITFi#UNEaLRq&l2>H=1iVe8n{+WJ?`5(|+&de~W_QvQJVNn4W^S2C zBbp!jZdT^Azjua9g`*GorQ#pkCpwc0ym^xzEZ!=mcb67^_XwG9lRhYI?{{}Qo=aRd z2_&9Wu31lcp!n1T7@0kGNs&b0R#L7v)gH=ek(u9UWQV;r4(~Rt+q|q(z2-Hv^XPpL z=y_hCK2UsAzUUX-!>L(dT^)ZbwfLAU_l$nBg~|j$*$R=T5U5AQ7xG>~ zdRI)CP)6pqkMRV!qo31H)#(iJOfe%`urFuLprCtmts%f6VBxLFl+oY)hQTRb#feVWA9h{M6fLFGR(_Zpzs!Mh6>YTYBN#3+?QM3u9Gcq(7MHVcv&$An8H>(#N($UGm~0O+$~LmJ z5Os1c^g907hJL1VhZ@=ws?bSmH$>p9ldmh`GXaC<5?J9AEILh*)>Kp^d!C9g22I&O zy<|%EICP4|Wb-^qLcRh4vE*1POI1dxC6e(Xm|_o!?AR>(c^n5#*io^`kObX}K)xYdhLGR-}NO>;IB%yUK=Fk6f9(An*)g$ll%L99>< zCH;YD-4ioGg11YKMGdHyFtR{$HVjZQavUW*a4225Ol+c^<(hO|;t#+t)-hm&uPx2g z^aOd*w9wMxXm`}m%KZReH#vzoYWk6x;$h&C&>1of{8f#-u`l+;mZ@v|;TovPP+ei4 zYH%P^?4tQJWJL)r{nOPWjuw91#n`mod}{lZiT*!H`||Nh3cX%7|pFU52Q?-Agp6VY+=c?Xjlw4rJ zUyp1ZU0^1b9IKI)ydXYA23OF&L}ra&G`MSmw)u6Xo4zIXd^Irg1g$x>1^kZbJ$q)| zRANKhN@BzB$4`7PI7Fw^7i7_L5*d|SVK>;a* zKcRM?3$@oQxSv+_c^fPJf^VC=(h$k=-43v;bv9w;w|)=tnVenzbLU_j_1clhOfqNu zRaq=zh2J~d$IUaV`;i*B$=8-}1k$(stE$nVvYZ1MeaG+1lM-IB5W7IFnxchyw^&g( z&UW&~_Fr4LK1C*G`(FW zKh05;<4TUm8;&?BKt_O< z15&=wjd<`a94ox3ujRw!BNBy*org=xr>rF=e5)-#7tbX$&Tx^HeNdNnW|)}emke5< z8M0dOGRq*#fCi!1iKUG4n)~k2lKes)mKH`67WeUTU9B%NTzI-4bd+s`eXFIB{vFj* zdg5&TLAgCe$b-dqN%7`$-T;W7(&KW)gkyK@g{^Vk5u&OhfgT6a`zce}9nQIwqc?Aq z-zErSdb27`Aezevs{Tq*%e3wOnr5m{0LWo4)f!XxP|8&H4eri$R?!D1^xe8rvd120 z7>%feQtnsrb%T2&R&w@Tw#+nkHx^rfOP-ev+?}#gJ`5tlI9n$*rH1$b)t8mv_1zXH z=rYUt+6ecA!RKXW;S|bk4&qyKJ+(D&=ee<32ls8OGLg|71jXK3f6z6VCyf>UWjZNg z-^dL-(RB$tm*BTD3?j3?=U!AFWFW)>y<)b3egSe8Bn1+|FV;50MDSJ5)iRiN))+lC zOvtfdLDN}&Flo%>J;}p1W;=iCIi04p%tuKO$KaubL8mO%=tWd5oU#Vl+1;i4O3-z} zuq}tS3&$$fXjP}qZW!9J5f^XNYh1c>Wr$t(3M0#jcp)}r%ZesB@RRG?R)_d@PDr-(i2_%e6oTdktgvw1+OHaO<>&Zu88 z5{hjI>j0F7gaUb#LCR9d7RuoMl*{dQrNf^i1i|n^W3oJL)rzr`a{0wsK#c^88U`+! z$LxNvV$?DJRVA!&H}6xBmBYd8zV(A|2}n}O=&DEvhyO!J!w4Vda068vXY`m>yd!u$ zW|tbM5JzZ6JWlXflP5~N1lPxch z7iF9~X8rIio}k&9v)~ISW{-BnG?aY$H07)gC3riE9%-?1 zxCtY$q?yK##4tup)M5ccB+)U%M(y;OT48tugL-NNP(sS^L^)tbd(kmNP7!Is;3oJS z6%JgNRI&lw6a%~)qIZ>mnb5;1-S~3HHH-?u4fG0vUbBWd+IUsGwTRhNfDQ!>G?=5B zB$W}CtU2Jd@6Y8Oz2umnz-Fp^JmT*gh9uvQ2faP@p>}>{>Oib9R_pwl~bY#qSq?`L%RGyN^N9NyURB7d3^F zcK`@5P|9sI>j0(Zlp=YhVxUR!7Ro686f5nKrK_L)fp&PHDcO)V$;zFxbmL)1P?JUk zotENOKTfAKy$ChsaMCVJ`tDHgLn^`4Nm6NTv{GP$qLNV3zF>|PTP<@nV=q)WdQ=C- z#!W4jO6W}10kEwjQORy1AL3Y&jb`C^ZI?I(bS&vW!mFcE8CcD9V%LJt5X|a{>QvCO znrVKyV!T?0+OF!n_2V!xI`~;TzhwuA8I7yl+=$3a^m+pt9PidE1IJH59Q|G{tyv#_ zHrEqxE@p5`1L2#729=Mg2*3n#x(yN~H(@~qkZ^fz3y~dPvE63+{uBlYj-cV_*rV@T zVI#c(>InE&FXPygO-PI0?@{ad80qwVnd*&N9NFIt!sRklpdJ|vlk&YUry5;xZ9hVT zLHsw|_e#R2(DfJ4*g;J(RG7r=EPmxa!jEY2dp{DvnX-W(RH9$|?gAp(bit4FsXBDQ zUb_KoWI|k^-=Kd2!3YG}8UPEOJbIvtBj?OZ&<20;Ayg;?4o7ws+@#Hw?d+g0co+q% zDlcD}hfeH{-}>bjntq9&C+E=PsGnlf+A;l$w*h}LS8Dz`l={N-Iez;k2D z10mE`5@gD^O<={PLyh_g8gfjO=D2JGL1sE~dQEjM+FX$-CFO_*CD*`&npA18pF?{1 za71;$#&29xU~+l|)G@s`PU4h&M2S^l1}DLnQ#xJ@kP8=gp@35Zcb`)oB^hA}R)W~T z*+9dEWxTS2KuWS$^qQyhpe*VB9TD14w>)-f(yvKl_>)c(N8g!?1 zDN$=>ET+iZf!|NKRI(O*iHC2T@lgUlk^_o+VXy_WVjUXvC2n^}5K0n|50reUjrv@s ztAKY~h^VEXzqJR08E8qb>Mo3;kcZ2Fx|SCy^$+;D!AWXKQwMj<7G;Puh?(58hJejX zBeb5p+gVXeUKD=RM+!XkVxsq(3qnnbTp@Si{?J2R95O-7kkRakZNm^vG*!Gmz4x88J=6+A{ z**ma)=q`u5|Nc3`sXKr&ZA#;*D=w{2S^Rl?VB8NnEroY7wimZ;+j!_uBMOcq>wlTF z^S0s9bmv19aLphG-sk`~gH$GN7D(j!tBFaUcEkXAi1!1`MCtK3J6m}rvEfV_E-Be$ zTnl*$oagr>Jd+6}si6~hWt1DBDZB*393082k+Cl2g@t+LvRgqaEjUMS#}3@IFf+&= z%ACj5QY>D|I);oBcqmzng^d7Xe`+GG*b%}r{;KNq<-d6F|7%kHSBw6m(0?b@4F8Q(GyRFe-_HJXKQq&RA@2XQ zpZPPS|J=mxmOi1W<%rdU;=QF;6Xl>)Y2Q`fh`Z~?DRC-&YVmvb21ID45HVJfdcgeM ztIP2RSmHVfjs()`UJZ?B8$0{cB#Qco>gUqpZkE1s+cI+(bM754xvka=MgiCxT}C`< zJ>F)M+)=KV&zh(6jQHFMdIYnEFoyeD3+wO6(g(viZZ9?@rkT-)T^+}V+a$dsSGA?J zH8M0l7CO3WWC=MR0&GR=BkTJ~k{rOkagjfayd>ocMH0yv;d9yrR^I$t7vB|0-49|W zmsL?2EW#83vSAVM7!v8&oXF;HcLu$#*R6@5gA3~_dR_T9Xxqum@$xv+sjT*nCsv-A z=aIU*6xG`l_}%&qnDqQq&*bRIg(;|;M}>BR*I zx%hcgp93;{LC&r38y9difv<|^UtQooisDqxVLWDSV9O9rwHQZ-A}6OMLIy$>So*vxQ{t)=*C z{x9CXI;xK+*%yMl6A13^?(QzZ-5r9vySuvtg1fuBySqEV?UC$ef4lGQefRyb=N{&J zhVJRRZ-?Sa-@OV||45Cj?w zTQPmson8;Y0piDn7(Z}J4XEXvO=H&BcM=@@#k6r}gt|2XXPGBl3bGzmu`J^OWqINT z+p3y=KQtn}0|TLXl&edH0dRaR1R1Vr#Ue>{DR7xmj?gb*Xq#v8G4kL{`soho6fcY? zlHlJ$lV>&RxMs5OU1C$n-$5@ZJD1F$1WU z)rck<7NZKS@gS-U`0)p9v+U7`^UHw+t})1Sr|Z6j#9RT=uC4+K(MqzPm!i&WMhzG_ zi3CDz8SX!W@Kuhe1dv;Z6SX6!QWi{3v&JRWjV9Zw)|58$Pnb%rr9*1Unu-(S5}XJk zG?Szvm08h;Bm$aR6rhKpMYj|MdJ}WuSr7}YpMfPR{=_xd0~t_F6(^@aEav<3EoCc&hjah-IyuSt=2Rz@as;|0St#ZV_Zlf zO*bBJNO$|n51bJGI5?sm(pff0vdu{y5ppAj{0w=qvV4~d znR1z7N=$S0Gl0v)Rr%6N3q)N6y_K=|bNS{vBF!srWnt=ly@AEyRf(Glf0)Od zPPUY6E6mK+0LmbxFHj;nf|kJCw?)ojvm>VuaNmk|qkU9$$0k0Jy=c?%v#p_>tJHV1xL z6hZR?&sJv)rNL~8C|vgnp2X^Q_0Be}=Z>&k=BZ0z6oxN!^r`N`=To$(LXikE4L`CN zWg2Rno!Off5i{uuu1XzgRQl0TfW!^;f_5!1f8V_Do32t^su2Ghzy6r^vIH>7}8y@*k<95obVh+?Whv?oNClFd=b z7{5r@n-n2LHNS#4B&O`NPbi@_yJk#?1;OtL)>JdMcfgFJ2;3BQ!uAE9?2w#4l2kz~w|giu zwLfrWY&`)YMsa>{$!<#gtYBAy_lsSj8h&sw3+yXb_bV8#XG(YEg@k=^2XZ1k#8mr5 zc~b}=|F#N3hS7tL0)eClETFxBz>*JpEF%$l0%CA*!NeZ0{;7_JZ#gg9;c=t&V2x;6 z^Jz6{i*1L=^oVVt7D}PbrC-_7u1Hw3i+?=fxtlF*WX!d=j1I&szb(Y99;l=q%h{M< z*Mz&FKk17EeIZbqZ= zo7$_K*<&j1oR@36Dv8cq&7=Sr(kAFBFqV_t3>fxa@FELH@0&DeKe_Paxg<75hiN^+ zrVp{WAf?kEY?XL~>MqK8YDdo2%-Y)@+dLZD-_GhYtZ7!pUhbG-T7tZ^W^6d~H;cR1 zNtj=~Wh@A1ihM?ghxa6Yz<#;Re)U|^LDe*ldn|14*h{nGX};%ZS@-O4=jmv9YQ$_h zNsDQ@W`C||Tl0#*0&dnQ0&||by$d>7p_n)Jy52!yw{2j$lj7z^+ilqGqmA&4HvJhQ z$uNJ;khZS{c{GqBoC+os!6r8wUdz$#&n7gxDv~oGJmx2vCu5LW<(Rd^crSn0E|)hM zt3c58Jw-f|U`F!w%K+htVN#aStMK}JP45`1KGuGKBd7;)nPDkcB{Ubh^8`-iycqMR z0Bj_01(yd#rFk!QwkJjZ`U?1QO1Je~GMmG%o^Y@Cs-p8V*j17)mH7lf}`J(@87`@Jqy!6JbM}bf&~9DaP)5+bpNAx>0fcse~*{` z6<7TWUSjxz34h@whCklF48J^i&Tvjr9q8=BBEu_y-KXC~X6 zMRSQClx(r-v!qYwSm&|G%DISQ(mI3JZ!MVPqn?=9qYyn=+ymN5khb3xJWA2N5_;}0 z>^ct)-sZZp7a=nZqnE8PABo#RCaUKJf1OpOZ~PHi@zgp2PU2Tme6Qz9?bGpmbTzdp z;J{p@GJ{Q(Cnmzj*7-eR$leeOWj>98J=xE|>RX4(Jc}{TMc~MlMYHo;Z(1LTp!;^K z(=1q*YgE)ajOSTxgwuMswH3)u$@7DECom&iI&D9z=d7tYLml!*)GcTd55A@ZVRrh) zQdb=7MrST{i`#4mK>ht?`2of)Nm-!SRrqqIIkN&udXOS{NEAGuPr(WDhVmB7EfnpPv`@t^1VxdUeP9Tn1slnK3cv;uIr&3cgud; zf4U!;*Ow_;2Z(SHc*vwUd`ygmI6hL1YaIk_aS&6(^T>-mii$VABQeNL1atF zy1tbWyW0ZSWXXoeO5{7t2T6S~9s}py!at6!7}K~~f)AnlZLX6cJeU56RF@IdC|2Gf zzkaDm$6X}cKUz^WTJ5}AG8RK2ZFLj85ChOfsGH)LV~jWUp*dqr?2`sC( zSxEdbkO84Xe^eKFj6ZC^DQK*XutBMx{G|(AJng5S<dY7fhkOEzo=-7 znRB67P-H+_V3g;3r72h42+<`)7P*WyFNQ(d1uEXjT1Tz@%`JdWE5Z9mWrhT$uDKNl zsSwfU__Nvke8E`nt=Qln?v6KY7@2c~;AP5$LP<^}LtvejWae<{#AnL!ygJvoG~#k8 z_Q)%2Afn=PG0VRO!V>F_wy7Gj@v0M$TMi*iw-s!G3@7vvZ8_&f+=Oa)6o&vV|I{>i z&_L)AZ^VTpC(e%#Q7PdKD|RR&YK02{Qf4SEZ{q?NOAF8^p}JB*3{l(!Vj|Yei4>A+ zL+IdXdrWpsqVQDfp50faxyV~_L(+Kqs=^7@6RyVqAC=nj1`U7nBi^%B_GT1@nsjr=tL3O>FoMl627VVO2PEjpRYzK*rT*fZ;=0R)Q-X9tZmm2(HG1m055>Kc01yraq~m(FazsG2TP?d9~1nes4zwjncgY3jo}p4$u8j5dcUB zy@)NGB^P1-2~6`KE%q^ExS-p2Te7OWEm>>6f$1%k8p0*a!S2CRo+sPUwEv~r)%?sC z$SkRWZ0)m|^1y}dm>KCq!{u@J`yzH-*wLkRtjHPim+|HqE|Uuv0vA#qLN_2-MjXWW7nucY{B_U8jfEtZ-s zK!wVFOVG&3*tMUDLpEA*VOzV~R`eS4Nd|0Rs4*PLqia3 zo{y(}cC`+!;+foDN*QhL`%dsf?TE>I6fe|yI$8GXomm}>0*`h?!P>^2MdKSeor6T} zDA$Nms^RL{SeOfqZJ`UEH``93*6cLX+uVbXe(n7+_InuUA?lZuT6Nb!(bA5{q#bmz zI!ZDlKWoVkd=Hu)@}6+c;IDsc*8i?3{d-8v--5y)@sgH-_K)tJ@h=JLKPF!OM`g)> zBdh+a*!bUzm;Wk;{)>3Y_(!V#EnfcF9>wst-DrP_m;bz%>OUi1{ubi?x5dlfllq)Mxx3wRk) zLGL-yDq(L&4TiR_IftllVq0oP3d4Z$nP2A%N}iX>&=xU4l>ga%<~*$yy~@R)DnBO5 zFhpMHF?)5SEtHa69^TNPGfG%8Ab&N!+|$h#+1eTN{i9XALWKO(o^lI!OU5{3gSXDn&sjQD=kdYP<#+m$&%=+jn%j-Sv5jBek z1ZGWVJO}^4a4pOnJZBu3E1uk7-P~X;xn0^{hpUN38Hh|vF!=aWFnHv1JGUTaaBy2N zKkV+}^E@kjm4GMQSgHJ{ESN`4Sk{-Lik@*Heze;++4XgMxiMPV#cIFl(? zpe+-!>uHWk;nvXu`J%oOu>cLW>5kIiyqt1Fp_%7X-HiQ-gpmC*WmU_1D!@FUMY=vt zAaP%VJ#f{9!`P#THRAVABqX$%QZy4D14m@(88SnC7GKj6p#_KH3Wn|||F zVqyef1V5$1m))ib(8r5sPJl0{$Bws;~xvx z#|QaO@q`)w`iA~v4CepOlJ{@e(7$qo|DJRFD~I_P&cXDDVgBMAjDO5kjDL$@{148- z_|LYj{}AW+!=-R({`X=K|DL^n$2l1PiE}Xh8(_-x{|2VNNdGqoOZO3Ondvvo{fA}m zOwGjtbHT;S+DPWSE2GWGdi?a1?_A6l&er8Lc4QAvE}v9BzA;`r2GLNgUU8%z9;e6< zPl+PP1{04t6xYTB_pt{S)8Ono9T8Aq%xp0{3H1)K^y;9mI$GpZqu43A&zk>;r?ruz zm^h){?gcdygY|lv%LRwm#(f(?H+T-HJ?vC4hppMx&$_~_dE8xBI6Skv!O!D1i`EZ# z{Oj1xto#p|`Xm<}XX;TnJTUq+og7CyBA-!VzAL|D<83e@~qa5;zp5kwj9e04L3RDinA`0gkRhug~qdB1wp z5|#P(6f*}k>Hj#zoiAvZO(DPqIBO_t3`Ir2$XXL_GwlJP+q*kr3x9_TsB{i+{3`f9RlJYQv6{NJqOnp z*6d#>{!F(XqhwGMTEATpcF*$@K9fy?tIDUyU!Z|VAt@$Q5qk`NPy^y`%tPc2iHsE#OamZDSkfJiFkN4xXG6*ku7of z($dZ#u~z@&KPR|{0x1{d%K8fRrUQj#W<9^hGjAOt|wF?quA*JSub|C0p5@*Gj z?a>>z4OJP$w!aECbBZnyMb>vVs^*7*umy1lZW#p&7%bo5-pj7h5gx6$Zz2jG=gH!& z>4iEE*lKcEmhCjn>ddZYm|ti_nY%#P@MH6WZ8sKTsAHQmfV>4giN`XeFm8pGE>09G0!t{?6^kPk z2C1dYjY0G%Hoxo=mDeXGG1XNzvv8)L|8fi|uiViwNOEvc%+pQf*OsGmi>_w}RN2oX zw*m6@Mb1dQVr`JFinI^X2ksIv<^WkBj8#~vp_rH?4U6-_8whhw=qP=t`?sT*p{|r@X1g7V1W@X}SqaC29=!TxYKGv`S zqiGXW?)hCQ5KGLodRBbwepAy~#>Gda4w|*m&~}cd#BML(_EUI~ajO!;KzrI)OqS|m zVk|RwN@8j#K>xr6G`3lKQK}}m%JEQF<&jOo6m4D$)f|*~-ZU|U&3Mj!@E9UwBTLk& zw0u_mn=LVLyq9wm+x)qsi)EB6xQ8EZ9-Y}$KgKo`!7m?i6y6s>hP6`)~Y!3$*`{z&uJfF2c_z)#CAFvov|1p{m4;rGCFSrU-d;eCHcRMU2^tU7a z2w^b1p>GrsX8ihyUtnYU3A5k)53AG;GvFiG1?dUDF#_jh*!C}l@ats(v0ed?V58m4 z+ZA%NjWqiU&szd_D--*id>%UM(sOS#dJ;BSYN7KXCJPO3-3rUKQ=&Vu52LFl~n=L8}s-Uq^7DfEw#lzn=^N~sx-eab#fuqcojyhJ)3cM zKHi+it#FIbk5&1gSv!qb6@Y}V<(pn~!6)74CA}hRIk;C4?!6cQRL zTOZuPw6+}W3}OE%&OlL$$3yobxW7orL~?m5L{m*TZxW5EXGdEDbDG&Kry&Q}WE=l|q+FaS%gA!$-CVtj#kmEvGhBJY*E|&~gn4?LH;34K|-8h}_>?+{Tz%}S> zq-NO*q)0>t?D^S)#a-L2$pB04RjiGEmb#->GDnMaFA=S_7WP?6nv)X|FpBSxhhIQO zU6FoTYED$`a(bBe7VoKqszrhTAMWk)@+;@Q3pX+ov+Umh6i&iZMBMiW73OZfeu_!; zQsm(YnwiUjy9>-~)NnX6vm#PS1#VtPutNjn@@9rI$)E>1qP2+YI}{xvLp1$lD=Eg$ z%%AF-Vt_P649(h`I4(H-X?l84C|-kBObdHFpIK2{@CrEYEDM{Hh*vOdm#q)^atF)d z$<1AgEsF)E8t!Oz0!zYZr+Gc+ds^kmn{`LgC!?=Vk*TbjM^nZWY4 zEJA~2H=6vE1p6)iC@i(i!eVTDvA%hj)mH{@4=Rkzo^Ck@-Yn z@;w#NvD)$>ZRLm}TyxiR1Y}MMgoZ4A3J$O0oFNzy4ya!Q^slC{;;IA(It?h7=x{+7 z>s1K9LRII@8SjSW!^PIPi|pPTd01pfi9K~Xcx>`iz}cOwYvIkZWLQu&;n(LUU04{M zZAq_Z=>xs=y7qS)QAMgHZr3?FyYOqjFT-S?SlJkXE&F25)h&MyRD|X{Lc zLIJMTz`LIuP}l*(gbD+3lC@D0OCG-T5ySD=R7_aP<_S_K9~H(bEXEd6tpd;NN8PSL zd@Y=StqgCUB4}JS%uPLU`1(N0Jp6p`WgAe{aS~{LTO34bLAejoNi?$V5osma9#&~G zTc!0uP~i2Ca*gtmYUkINN2e(EeJ_^@u8wq)i;KXS5!r>4oaN>4boGTXMXaCkllXNc zO@)%SZ9+CQKvyZV?kydz#Pb*A=`>pn3}5DJT?>Fu0_KS)TO3@Om|Sy011*9S#j}&E zMa?0L$_L}wBir5HUL5#omS~@hi*DMAI)p1iqK%h%E0XM;iCov@BkQZF_2Yij`^69M z9z}d@O%4S7?x3%JGkByq#?>}PBvb8DFWXMV=}dZXY_Da8!DeSbzDkFD5L-1`b@bp9 zfV38`r_ycwMOv#8i%R8n{fk3`1@yYSF}hfgoG&<1_+dV4JfX12ry{j;bIY0{1zobE z96S_XfIQE2d5WwU<6SepY-bAbIggNI`X_d@3eGu1p07Ql`0`rX1{vgcMi;07b5%!p`C&sVmI) zjBbuEF@CN%GNz&L&3M`G4=eEN`Pt{U#7YB|W(tCZve1`59V!j6(9GLF6%nKrSDdrj z+eOSbDn%%|miC_}-j=$D;-GFwWX9dLTbD)$xH5sQv1dCjPirQ)?oVrIkkg)`U}30G z-P^mjC-dM!nDzV>KrDKjGT-G5zL{aT7w#5E_EOA1(kXJ$hxj&haa*H*8_so zq@oxAS@rf8;?UfmV1icLEw^1<6%O}+CdujA9EQ!oT~yYqY;9oSyuVSqjT(hjI}I&L z_H}hoHq2s-jx9Dj_*PDx3OOktK7S^&(%4uxlt*O-0T8#9WtSXgGIHGTf}=3GJ@@E9 zS0bIA?K|EkICILsnmsmsf&081RZuc9@^kBiHw!kxBXSYXV@j4ck>92=5y&LA4hx)c z8=0uze!V}g4U~0a8?5-k{SMtKj~cd(?IlfD9tf!kSgWbC9z-InMNKx3zOMfiZn?1evEE=}ocBs+U@4%DW1v5Bor}xK z=6!8e$gYTGxxPg%2ZN?AvX=ewRr9QAehwo*&l(mFqM#Q#z}e6um%S~6Ac2Jc>ye6-!JyFP^#0u1rG&fmuXAjab>4x z%6G*C0afE%Vsj}fWn0reE|P8z_Kt?3@hEBan|rl{i)(F%{mf}%eGm@c0hNg-cgD6V zLbDfiHkqQcD&hwVA~yD?Z|J2uQ_Kqv zQAI6^rbk=!O!+yofD=CwO!_giY*iGWK;cwFv+vUf<=NNMvGydF33d_^=R}(V?b^Z> zYqLI6V^|)xV4}XGqF`W2S4|M#4%0hZ#DY4ZI44!9yOx(14`)YlWrve?V$T$YAKmWT zuikR{GdBpRs61UgO1iE(cAsjxyFQm_&Y7ojm~JPi#Ri1B1~9ya9b0$#w1e(wrgB(c z<$~WDDt^ah=*h}uR1=7M*x-Hc5P*20)7!L>gWb(xE!unY2EAnI1_6btYMg#a90R0ffA6Zt5^uGHFlb;+- z+2eC;hDd>c9jst?7hpUKrikc0HyT?whU?}78GnBqI8%2EvGWA5KJ?F&iB7=pR&U67 zP_6ntE@j>d^XRNrxCVZ8XBpsC(bhGzNkHpPyd5`$kMBUa@dSqyn>5p}9%4LPA#(jBFi}N!1AJp^Q^WC?2*@ZQ%zZuKbSEVi7-kKjjB#$(zkiLB@`v ztlD_me)kRergW(f{)*EO9u56p6_vkLQ-3#wFfz0LBl8*4ADh5GMNVV--mwE>fDQFDMSe?Tfw%SgpO$*X2`jFz9 z{}CY8gTtLI-i6^TsyUy)(kNA;++Nd)DTZyzg?el}m9y~dDu3gMzFcagZ{XP>ZzM-j zf&u#b>rl`_+4|VbL2LS zs1&8JEVz`3gR{3$!*}G4a|-m52@Vx;iSH-u#Krn-3JmsZ>(Dc`)jf_pjL(g5UB?Xj>ANu+Ha)*3=Hm4zboxezr|IPYIgj-U)JxuWxy#ufsiw99?V; zl;DgW8VX0fVH%)gcQls>sM>qD!vx*jwBF)?fdslGe5SNQEXPBdaPPPNDES zU7Ny3zBgH0Ybtp|V+RY}znTi`TAEt8;FA8W74ENQxF7Av{??a;uJK2nH~N2c%>TDU zbX1HV>yC<^js7FspxV^H~{N7=8r(`=vzXv(x{TVU3NI@ptjp z!~QB$(X%l8t`N|*`Fl3Ek6wP)DA*fXD&eyJ?e<><(LaS>ulBLZ4e4=zYjoxRNyYoe z8|$wKioY8Ft-n9n_<=gOKbnne+;w?xW9gX z>ga!)FFx!Rzib!(^83@`|2{K)==hmfS#g(Bq($@JT) zjp=t7$3Jy{otbDq`upHPj7-cQXQq#5V8;Em1b)|lj79(3#_-Yq$2C@ZHe9BUzL`GE zy1&}~`Z0Wz89(A_GBA8R(?@$oW)@tQkC>Z`ANT$GpYda}(eJE=A1MK?zgn68%KVG_ zo9F%WM1Kta*GKSoCo`sBCY-;~``%Kup3zEvsF<>vMT`qboXhpiK?OE>pc$7J+AjVxwrdD?$ zkq~`0(DdalH}oOYg6}LsqJbZr8<_?n$IN5#_TiKk_U0(nAZt-#mTJ;qzEwkyCn(qG z+YO8XbnDdeh5$q;FYXR0Nd?~UCeH-GwZV*&nnr*ZwX~3EZ1$om3!;;hdtoS&SOd4Ku;amt*ib0J0M5VvKo_C>-mLp<#FNz;_W+7&Youj1$WQnh3oRN*3&SF)d10#<2$C|AJq# z5U*(tUWkKi_XtBE)_8wq?~QG|Pfdg4B9OnRWx?}SY`=RVMtWe`n4T4k)G5ZTYdc>} z$Tyz*9PfWEvNcmG(Val4DoIFV`ba!d)Pj7Sd>#4R%5jAH)uWzi<>*qJ9iM|rIBd?M zOg8o%Kte5leplN~xjVHre47bL>SkUQteJ^fxxt8jitT$BG>f5nS@QNN6GvK|m;nRx zo?WQmHGS;%s?<^_e$BPAq){-sC9_t0F5AZo)o#<}#S;7S%rLSbS*{n+<>{SESTzr~ zEnwMY*@Rj7pdPT^CdMAR2>4SYSUE(7Xd zboP`U!-~7`PBdng@=us6aRExcu%!%%&Kz4L1&18L>l$fcY;x!G5CcuHxBI>Qp7()ta(jx~Z&`*PVtLmHd%n$?81ImEH{jhog! z6MFU1+{jI5LcXk%$>_(tUKoK%6=A2;F}B=ia1U79Bg8T9Rk6X$KA-(~W(-C=5ga>P zgHg$v1vWK|xdigBYm#TP%$glh_8#2Rw~wL=U#35G$q@(u^NR;>m(t)EZ3H>OIgt!5 zI-jfB`iBcu1g}FJDgM+zc7&6N4q9=_N3D9cWqHD#RsCL=)B{85cYS_+ZvOdHQgXNs zG!VX}Cm<9fFM+PCo}2myKfX(5I2HyT%p|Xph^)etO9)?0pHZ(NPh+>y4XiGtjdLHo zMET0u*w*l7LgO1MYEsZyLBQ5_uKZ|didj5sMxT(ra1=k*e8SJ%YO6`K@@=-I>c|54 zQMfsWCmhxGtIisXQ0sBWWHlu9B&xNPHS~v<1P&P*?b^-uHLk3-`!K@C_U9|hs^@v0 zxL4#hJAo08G?o%DZEZ~L$%kI>jR|bdshb9w#d8*l#~;aIt_Qxj;rWH-Ct8K*ob3pb zM;fZC_T#|_k=`E2!P4ba4x zJ3*_pG)lBB)%3NDn^x+8at#U_zjh4OF15~Gd!JA}|DX&)cekS55p@%Z=I%Z%+-v7n zJ0CH5%wg9)`36L%$a<&;exC#T>!=E`DUni`BDMgw2#r`q+|3!scQVqpF?NJ>GP__^ zJg|y@5EPy4!vbOu{BurV6n!&Dek2BX6^VC>oUN0z6>UR_eWm3vNFXp{)sr#=)Jt!H zX7H3Ktz%=c+VW;@cXn;YYua%`;@SJzK3r_7u*3VL+V6s9J`NRsJL*`-PsazCt2iQG zkTIF6%$GL>BTX9PNSu6Jb$K|#e)=CRT#A53&$)z6qaHt~#5U`}`T z3*l7`5cjVe&wUm57w-83Q#VrEJ+HfV*H1|9*nX~wvC{1_%vUarf@Gy}9|{2qP4$HS$`IAm#7y6`={Zmr zMUj1wP52QJbCY_ML%}l;DxXz^_mJIgKOCOTZvPm{_;S}rzZ`EOctwf!O*A&7 zh=JFK7ZSLb0$!*IAnDTdiMilsBd`l-Y)OY9wR#rRFo`T{9R?d|4@^V&jcn*h+_g6A z)%G|_wIl@o83k>6Ut2aU6(FZbIBf7vc_hlZ4z9cPMjg(XfaiX`M;%l)Ir_ub2X7w2T2c%&>;*)b66w%6cl|!X}ZgO`1KUclEEPl-4&bDHFVbv5R}&G zYRh|=+;h~ei~!0VmS`F$^@UL(>Pz`e;wHXsz|DMXUsuZw^Mm95+2z@{_GBl@3%di7 zV-%(nj`70u=Zx+~JSYS9MV7T?lLDoZBpCkj`CLcB!&qtN(hfaY9P8tY9jRB3TrVCn z5Ct4|g==w|j300rA>nhUR@mX$gsY)x%}#IxXnvUfejw-_YSC9EzfO~87q=yjW720W zJ+CijEO50gGv64+A$kznxtQ$lU1vUg`CYJmhi3s-p#!rofNkNgLdIX!-M5ixHtVqSxG9CH z(;rOEYrt+6w=Z;b*s!}#nrMFke4V>7zXj+7I6G$7LQ|1FG!9)}bqJ?2$qm z@$kx_H*`cx7Q3 z)u|=UQ&+t|%%0ea3y`{ebObhA*k>ld&5T-z(oS;w@b|xIA{U&15%qQDX^FrtH1p+9 z29Tv|>P}U08b2ni7cxWOscMzsPYyX{!b+FN|voN@oDC z4;n+Sm%tE==ZD4+ES*I>Zw#*~-0kW?BlQGbF@Y-&8uR;_La>tjK@kfL-348TiRTRE z8s)0RqYo)7_?(|As(tJf;h~KjRpN|qG8H&}AjYf(fd|()F{_MNs!y#fQF@E;MlFv!XwP)-{tMpEq|y&C8XZ8CBxC|vB1S} zF9^56`Ev!0=JKIZq6H#j86ATemAmep`papATfsAZq$&2-qy;|n&6pIau>3Cbw(>(E zgDX#L=cYTSgoSJ41{&pvU?K4a?Ff^-(t6SfJtSe{>efuG!u0kS_@|kek=#uGcaUS? zF+H3*ja5;nse#+=5qvstO1Umv1O}qQh*h(Q(Knw;R+1W(PG)ruCqJ!o(6S?p1_?Fl zj!7{$`t!N#(O9FZ0_umwdIov?;(Rg1VJ0j*Lj$PG%K*)7gY*65ra~*u5zR(f%2vUp zpqc4glfg8;dBP#y(ZF!roAE^jTj*s&RTkIL0+*e?C#R0>l1cVd|^N;@@2Si$DxdkITaOk6brF z*llapIlLxhw%(X^qBlvJ>i2~CWnDrsMlr3~(@C`=B z&`THz3B$sMN%-XNCm2z0e8T(vJ#Fd^m;`xU!q|MnRo_m!tXm#0?>in3o$jY(=UG}i zgR=n%7NAys5_BVeA-c2^>L0-n7AKGrnJj>MLG{m=Q)0>PyDbLxUWhdm;zG8QzsF-^ zt6$&j+21TgOmpUX&{@E}({tN^&%XyHq=-g>x8d2BYry7Ewz!g+-FJhLojsp0C}$YWLilN%8*nBye@3u`oROexd>` z1*RF5&E%(9)mT%#%Z7@Ix_E~9$j?xzt_IZ~!HsIwh~_gfpyr`PQUB1W_K@tF@?&aG z{xvj1er|&Jidx~ln?ZJv5QEzIXef8xBn8gIk(CrjmSORfkzw3rY8nRt4=SuTxYo}|&&UxuG z)&Qp0@N?XOeCA{0kqzoCI!YU5*4@6LTbqlkb*A@xorUp6v>joMz{4xUf6+3!~G_AwqF zZONb7FlYM!Y2#m-WLi%e5O}a3LAKFPXDEC1`1&qIojt42Je>RGT`MM#vm|sQNBb_^ zH97Ab3V^;kT09x{=P=n*kYFV9Lu+SB6x*vwf3-?rU!YUhq^6vtnxwI#lwCMpaA`Pf zaNU^cIH^5R{J!KTztY4>GB`WkQwdjO23b1jG;h6J{GMTo8hwUynj^q1;j%! zFFT5b!sKfsivl=lW8Bs%HI|WELbV%OKZZVsdkR%&(h`$Lqbj!4T6B#3nEbh!eVM(b zeF!y?l=t*z%a6M8Jp;|A^l)QkU)WRd`@rfSZtLyq6&wynBQ$Q$*ySHlfE{4v{mgJ< zt{h5%>Orn|5)5kdBb8CZg0hO)l?~K6f0V#XcyVbVXqv!B=^0`v5P~V>>u@h7AbwZM zzo?79lnQcNjNfxWvD=>s)eqySSi2hE=lQAOeEl|Y=Vf1J@Z>i$&v}2!<Ulc;EqR zNgxwfW~+teHM9F3=DOeO+3=VyCvy>ChhbM95S=i5<+io&l1Ahu3kQ(zo=1M_T}bBr zeG4wL&=%o3|1+*Kv=4?~qznSLzRSe)u5oF`-cLJ1>3l#PoKq4BT^`IJrWQ(J{t z!?Z2=+J=H4ivkiZ0h-vFVE4P&uAXH-vGiD0hSn0D#K95cNOOZt2qaw!Uw<)E!>-+Q zBYq6{xw3nq!|Hhj&Ix-k*c0f7#=iE+QuL9q)Q5}TPc$~{YLb)};G7p*Fd5Q#5aLV! z`seP#Ua5JggvF7lxT;;T{A+$7N*^v8|8U|sQ{L31^i)nDY0Mqz)7x*sJ$UX&mkbZy z$psQa2R0+a0lKsx2Qv^I#3cTi=4r0ODcL@+0_tS-rT$qxCzr4gvD%Xfv8v?V;BV)< zEzvM6otV3KATQTQ*G{f9?HB@T+^0h+5PfmF;x3`|x>Abs6IMmm3B2+X z8k63GJt<#4yw+YK%F&Hqxf)Thy|cPELj1ys7zUlL(AqOC2;gD{hS0BJAH$Ul-wmBp$P&#NV6C4M#ZfEb)Pap3yJ4nJ})pbFSdx&@65S$^6=RvG{o*y#( zqCx~EdqXS4KN-L_fo-@A0qv?*N41Kwe~Wh-9N3-Mt=P5R#RwIaGCa-!OpUURF3)kA z#F->HTzP00c<1jx)ZlN2M-_%LGXMu%VQTkM1EFOJh>Ikf%!Y#J-Z z;%>T$bJSSD;imQIlHO9^zT7q;pn@xqnUSxF)X%`=$HB&*#}CY08GO+|6d*lO_-X1I z5c&E0HYyWT;uMB_+tAXsL~=q%1z&?R^ue9^>7(@jVeYG<>qxR}ZLws@VwNlhiQRFM;bC90xzykCM4@!J;km>*A54GEw8!G+l)@3~MPoD> z8!bS#o!~v`yr;f_$2FOdskv002zf#s27CbDEqhd}D4bW5X0Sb$>|qWb}T^Z;TAX=oWrX zs+53@=~wWOPW5FdhBfBhYl$6&{bZX8%fkB$(=er#FS;MR)Cz4_9T5?Du~pl?mcW%? zPCAOVunn+SfbK<$gtvh@$~=>RhtG8@DAH8oU~N}dS}t*bIx#R*Ztd6C@z*Vr%jYe{ z3V8E3=^IAZNed00VeLBTCCB;_bM9i5N8Aj7(qnHNG4N8L%1bVwA$k0jw`lbI5i(q(vu_}}>obBSv; zM6wF>r5M~2R50aq4U4=@yhl={BOU<_a5ZJ&-WUDFS$N(N)@k)7R{g-%M|Oz zSZKnPS`>AiEs6IHY3=fCUuaKQ(BYWyknKT~nGltM`{K>WvzMiMuX&60UU|#UR<39v zZetT7$T3m|&W;t7mt6q?L~VBKE0Tc%1Uxve`|gVHfeG%6N{KVX>MY6 z9{SW)`Z-PjcLCHx^a~+9Khfp{t8^fJwH!v6MbJ$D01}3bKCO1O$f%`uMba!CxvZ}L zM$bm{K^37|Qi~C!!5U)V{;sjQlfg)_LU#4BkC##-5sGoyRh=QP-JUvTV^Y#`yZ%Fk zLvI?KS@Ue1z(`!%K-U^WxV4S{?8r$hnKlM+eg;p^3=$%9A@o*CUzOgbQea&uKaCqM zPtsDb?taVA6J5~(D&kVFz^b8Q7=J%=gJZ5z~WMWT1e;W2fd3v+)jY=yf z20LO|SapK3?^jG-@q*A;4zAuHKE()#vc2Le5(< zH2^j>7%5dO&K5UboEte)6se6kH5b*bEE#g?5!Xmp$tW2UX!3*sr zX14`=JG;q)oD7!lO9;oT*~LZ4G{G@K-xfE6#FtRHmC13o{h_~9 z#TnUgvw{ILh3**>VSF!KfejLe7WA%s+|7{dk8{`SBlQMX#XaS0xBb{KDfm@ zUKI|=DV0N3FoS?w)?UOU0|qNly|fO$M=m5T6RA=ny~tEl8d^g3xRPI+T<{?s_quOp z`fH(Q0oi1q@pdhEO-faJd`A(}90vE&B@hc?q|KIbKZoJf5s9Q^ z`uf#b=#A_&>?n?Ou^E0qrR)KQC|LU5|43o$W5#i_HR(*yf~_WqWoEXE=}cZatf3kQ zAJ1k4E=I-%23)Zd+|~h}0frSo)D!4Nc-MrB;@~sG+e{UVy-b7?j+fa(4G`Dl(;N0XqnGU_A$lPBb&mpHS1bOg*_d?Asr5)l|78Rbtx=b`p-o9?E~;|RtAU6p z45>vIM6HL1h__jGc-25*E-I(4j6?)NGxd@`;H{1Xffpx>#q zF5KP`E@Zm*=!oS^-kxm87*_S(0oe=ELY1=)%Z*`35;91lZ5Xw?q;UErF|H$3F$YMR z5nUjQFBy^;kIo4PLJY60l7GAWrq(qN(jvKz*J_vCfY*u5VZ|ETY$q3xu+isu0*J3r z<{Y9bS!5PwMiANfC(?p)(4)oQJy(TJ{jD33bK4QnT!5IWU{suYnN8R|Ej5eHqW&B?Er;9Jz+Qe|rewo(JKR9t9&%hdA&oSWrJDh46LNXm;T;$mBYuDZXfLhUjRZ@;}gOK8_546Xy0k)E8wgC z(QhCne71ydAPA#wX5KZ-;ypBgcSQjT^gO@f%&HA66LL z8CcuTpiiI+LgTcFx+>upbY0fI^{^DU12=4K`xme5uj~s4f>MD};S+(swS|DOJi+Ec zykg1{q|vlsculQq7fnE0t6=GvWMg69eSZC<%!*F=o&0D^sDUc%;mcIuaEt)PSQgN$ z_)9TPfi#Yq@k~KB4~N(f9UM*#E5M?3R*kxu^bF4vsqVK{M7+ah7~YJ5!Dgnb<_z2! zTsoW*o=8|%=*s&HC~d|r4PO)h6VyBiZxKnn7Qc&cp?niCCa^a*sZ3vEGA#Rf;a?FY zo=l%u8l<)i575~>L(;Y$%MU1>-w5|OMkJ?Yt<$kc#1_6jgn2i5JLA-e-XLQFV!rA5 zrG67!e55AlBNj~fm}tcp?!10u4>zxMuT%`bX`_7)v;fZQ7ov-jZ#DWJ)nTF1h81 z#ndTGA>o<>=a^#~%L)g@Wq3XO)Jc=SF3I*r#oSv@{IS+A07yLf>B#MqdzZD?x`5DC zv_GGTM=;ZT|J6%)=5FCtpfx|~q?<-Jv}U)y6Vw<^U;|fqCR(e1YKuSS0u{NS5g(J6 z6)a8=Hl95POce+Ipv$f7G8jK z8BkI!B1(5E&L+HZJ0Lv1WO z??bMg?}nD%xKD}q1@D}*zCv4X?;T0$->%w^Ti4$Ww0R=v`+2~<7hz*#9Gv@~?$h^j zk}I?&S3D_)zdkZL5k1GdI(K);b>FL0<}AL@^4h*K>UhepJ$jTPKC|sm-g}H|#$}<6 zwlVKu1(Es69!Tjq1ja+7-Dr#Fd)}ll6M$Foq35~EDV8Ufp=Xm$K}`eOd8~d)6^t)+ zJV0!fx12-2b!ja@zLkT1GP^q;(5?$I9Co9O=Z_1)CZ@pF_`0% zfoGirpue77h*j#2andD2sOsfD_7IbLRuDUKU-~(F{HhJpg zo2;IWEv!)6+g+B_^aJKO4wQ`yt7X?q2xw(&d3bd<9QSF?&tW}QF`+p{!n@W>BbK1xX3 zd&ZhYYA{|Xpy-+)e|no@^nh#jS;o#)#t!&_eF{nsbqW5=4RsPGEkGrJ||G zeS=G4TP8Dhx~6HSjV}L7WM0OPX{O~3x_stSGhMn$@RXioez^4bm`Jt@8#v0rZG8KA zVTft``}^pXaY48Ndo;`7J{t~RUFHb7^$*X<`Wsma%Ga3i%cwZ#6PEJtO06)N-|M#T z2rL|Eq?c834_(`&reER+$od!9;M9~5O~DlkPq+8oMX%ZB*f^ACzg`y^&exAmBPsOu zn{F5TjLJua57uUjJcZeNo-1XWwC7f<%qE~&cSv~Ox(%3yr>EH@+-c%!h3h+CW~vT)c9bh$s7cD9RO^5V??eJs|5gmT zT%@aFD}Su=BWYnmnZEK0)%JMVo~6WGM>aTYcqUP7_TzO~ZWpWsqn`vgGd^-QwvxpM zNBlu^-cy}r-xFi0?+r}&I;wU84OXWuX%T_F>*Qv40T!}kL1PlF6TB{(%6Rl9${_jm zyAg@5?O4Z>y)hYiNbMopErG{W60Gofw=d#Z?1IV~IkKUXhP$6U3LXLvaNignHCFhe z)kp{xB^(63-~i|2rs`swL{*ka_>mm-wI|Qd7~={7L8i z8$FW`GVTAwWc({{Q9Wwh!iNg7@7x&ztC^SoN1TISY=@kW8qAtLl*p=G| z5LY>`A0{wrFAFYf_U`Y&6uD6x#?NF~+skCeJMa)PS#pQ!4o@6;Hdf&bQx#brCNi=0 z$&Bf0Wp$2FQ(0rs^mp*78;0XtB|fA)@VSZHCLP&N5ggJ`AKK3yma(kL+v=n}aJdPo z!Nmtf^z`>2TE{lvSlIZ~OUM)(6Wya072jLCIa@nh80++Hxz}4*55}fz=Gn#g|ILE@ zMF)h2`5)|hhF?tA{{_2RLRy(yUV@a{##q}-T<$kI?{EC%|KL;qR{t+p)C>$CENa>h zvHcJF@5fg2R3Gv_zY$<5|9cuW75#5l`jbXYP5oQNpET-U!~9nDZ}F&qmj(H_ul_@Z z>5rTB|AI&TcLw?InbRM%_Fuf*UncttbNaVM_+K%n|KunC{WtpG*vh{c%l~tsVf;1q z51usBpX})WJmMcc{&Vd=AN}6z-|7477yVbh^Y0=me=Z2a-)NUG{QKG^AH?hbOn2T@ z^0Y#j#q_jvJhypF#cS-g3T`F?k6dO27$o?N*Yg|&Cd~%0(5!Sx(ar?~%-10!RM5+V z!J4`>89q(YJ)udbyRM$YZ-;@A_m(wjO{PoEaxjC1nZGTSM=qj2J??l9=L5%5`&u5q z=$?MRw(suQcE7qxHHJc}1t?}R_QyRvuTWbDng2e|LCxEvaJ>Nc~7@>N?FHJM3XiuZuXZTcS-4Lb6Vg7V!4z ziFV%NgWXk{xg&4`9o=&4XrG^&SB&=RIHAaxQ*XHwVzky>&~9ye-Z#`B=ie6m<|F2v zD)!CFq=F%$@hdChSdNNks;cb=J>Q(m02u_|fF}R$@bGg$AJa19Q$^QKM4}IK070MW zYq;Cl;6B8&S$fN9m#EA(%XjQY!4bf{?FsBkScV*`!d3^t>V}g z4d_wm#$mc~$cSd#@etKiw+Xe>(JMg1rlzq3*9W$?le^4XH`H`Tqx#35I)Y2_J@{tf zHH?8}aA!px4L_fqQ7aehV4yih5azSlNC}#Jm*bt(RB+qd#4_h=hV!Ra(znI>OQ=j2 zTGKWcBgXRug!IMMAC5gq(Ck+QiRK9oz=M>u&$;l-?8%`g_htL%#j5tX zrk?pb_VYxV94}p*>z;+%@%2ZHob!erX5Y5!FS;Tg0BGgr*j$Yxq~Y6|m0V5+(s{*2 zwz~u!-ZpBPm)Neuv%0RLSJz!%d>`l6UpIY<^El~BlLQ-*<1aO?*{{`FD+y4|n`nmy zEKe$pEFzfo9##{^c^}>QOj<6YTTZLp)!9ZBBh;9jH|RUfeiB zhSSv+E)!}5oljrF8Twz5ECa>m>6m*(I!N&wSE%VN71m1niUb1Gh!npkJ)T7oc|65v zvg@~@@2+JrhBU-SkUd-7H`+FHs@)x-oiR$5b$+wgiAd@F_T4{)jg-=*7NID8N@<@@ zE`Pu(>viQSDCP z9 zEUvD)#7j;Ci9#Sve&h^P2$5jGtiYHQQDWoso=W#tHb@n*R#!W7L{&`%O6}M*^co=7Ykvt@UrU>E^Q3CKRf>?YJ z5|hLunkr{MGPp1EM%$I+j1*)1UgUny+B`rW`7;X{X?ZP5mpUB5g;MTRHX|Z>f|7#f zh<-6-$h4Kgj~tHXTUof>HpHq**m#Q^>Y{T-pQX+8@V^tfOilhErsk59mqt()8UB1@ zC4(Sa4%n)51CWKFGgJ~;5Xi-N6C5ohf+<#*1;qU&kS5z*A2<7kFNT)iy1b1Ydqv>+ zitic1bs}H8Wd$u=M^DLEPaaoRB^W5LJ8MSL6^WHO<$IPYwS~896nG;^+JMx>hPe~W zBS9^FQnsd`n+3laydgAinbielPR)oYszqcrTdUz^bMFC@e484umh+br5gTs!;C* zslXrQO=-TK1rbOM40Jlf<6Z9_KKi3oos*A#i$MXmiz z9B1EAV+Z&YLTOGV!Qb>9n@7OP#FmThg_Xp?it!+90Q_2^kh?Zafa1@Cxs3tuv#nXw)aNenTf1twtXl7*DGRm!Cgd z-&sdVMt_!(On!JeTAL(?Vn%OO=eU%qD~d9$|07`Y+=#<3!`>8$clb?AG^z%giQn%e z#B_@4%dWa5KaIVSk)Nj#8F{25I6;#-4Wb-4ey3OJ?nAVk5Pn1v8J<f zB~t;4z1;p*1|uHde5fRNJpFo6eU!|Q#hMnq*XJehIKDoa*et~#luc}LYy89r+`&4<#3A@w9BeeRdwNvxJBUmf zA(Tm{7rm58=8Zc`!=(*lFye2+-yzX;ygXs*Cf~eeV`QQxGQf2Bdu$T#_LL-yRF9a* zxKn6VO%UusBOLnRw$P5&Sx%T8& zr|c;HN&qF04)7H{y+(RC&~+<2;%~X?_+2sjxq0b7DHob7HuH?cjvq^AR&bn1GsscryZ+fLzF% zySUur)P3ia9AH&U7x@nyhADWC$(q4dwHNt~TJ@1Lp#m?vE`ipJZ+mb%n#~$etnh$W zk7_gO!6POy46C7nZ0mbBna7aG+6>f=*cHZADrfy`bdsTh+AwWwd|l0jd@UCu!B{)Y zzs28+7aLAGE=3+Rn+e@`l#IZFmst6>U+ENR?)VL4LKVpSJijRw%oPjOZiHE)cg_)xF{ z(D~T$xS35BppP^Ks9&xW4Hyxk7~mxwZLRTp?8_2eHOo!cwog+w5QP407)FM7nD98g<*mH z(76Nj^QT_b36v6a?R)#vN7;6lcOUpBuv{b62_vJGkehNFo?o5^b;-zBmF(}wy6(N26;TRQHDBGD02xt(aMAzwCV7g36w#P?Q&Dx7OWD2B8%(QGNxb% zvTYeDk|KR9E$f--?l!yo$Sx33Xn(T^e@W)1Vfu3o{+G$zDw0Zkf&!%C+IB|z=Gu0~ zy4vEF7MA2ZmS%eY0MdWta{p7Of8m9op<==&r)Fkk{*@WbgiS+3P5rOj5R42Azg_fC zHw5iJXLJ7==HGTh{04IWn&taf*Vvz#?!S*`uVeR-#Ql*Z{P*eH|I$$Zy-$MXcjwAK z`y_s?)c=!Dg5krv^VjnG(I5Z+*@N)=@!$3T`=0+(?XOY(=j;4WXaC;z=NSLRTk+e2 zpK(yRxKVQC zR1J_PJ{O4n^3PS#<=L{-IzR|uk?&@H7qxW;`b%^ZJqtu7%Os4fjNh{n2rIF`_z*KC zc;Sy=I2nBDPC=LG#O1;luh&ci5YY0(Z4uhXUB_(Ku02vds`^lMZ_T_5OX%A@)0L{< z%MDRvzo1~QG&;_wz54k)XTJMZ=53U*ep^^<-_52NVee14+B>^c%lz0!S-nr`_ zc^}ult2oF_M26$(TJ<^CxoQ|xDDYAyW&3uSn}oagcU~;tZ!0mZ74hX3ZQxHRc9r*O zm#wL&xrk332ZD(J?FlTIew*r;9|}{>OtLQ7q=1`T_!wZ41!fLB+K736oF1NC=mu)i zLj<=acN7atHC;}YKYixCJa5f*N!}cG$K8w@cOqin5PLyFt8E%{QVOr=0l+$Adrt&TCu&i1|L_{~W%H;q%-?ve{Nhp^&3?Ak`IO;nVJ z#*2kL3T$#-)N)&Oerh`0yWP4eJ7=5pmq({6@Xy9~_-B==b;U9gda^s8ER1_{*$T1JK7nkk6Z+OZ%UgE`q4o~X^Q1X`0Ubs`A&@sQ+Q68UtDVcg!xB*td!%Pe3 za#e@X)VANdeQvWo!{C&Cyx8Dg3$mY2ru?3(D3Tuw*WP&9aMxwF*K58({!El>>acvmOpwLK39U)};SO^}(hRjx zzVYgt|1)X1vJQP?6~ zYkRrE&idGG*na=A6NH8BXgRi~{7BAOV7B|}R$7%N*|E|safV`J1=;wedu)rP%C=G9 za4M_C5>pWFxjZ~3@TOGF8hn?kL5AJo{EX<_(^&d)*)(7dp9HI}&2B@r`Fz*4&LSN% zc_oRtEa@1r@mA^_QLvum3i#B?U^!^9@>F#JAbtK)QHKEfPW@6uZZF} zw5X6!$~ZWnU{FeN73vOU*zvjrMc|8~*R4Hn4U`f~TM?^E}Q2OM< z5W?ST$<(VtnJtv53()`^*rG7lt_f-LZjQhU55ar1h10@>BQm=wr7K!l;k*q7wj+-} zyZihc6Rjl*9n2vP#$~8*ZG{DD>>M%RX$*@iRMi$8$P_2s<3Uide^0nUtD-pAfXQ3%0vXNP=l)YkOh+IocD4_*vT#6h?zpB9WCL72s;s0qiWIbyrHcMZj$1(|@ zHtgPNtxf(?hWO3zi*QdW;$c==b`#U14$e>^0uGb%HQel^?RUozf8e-biV~enN#5l4 zf=MfYB$JC`Vh15;RrbvUGa55~;b9&M#F$Z#K%RlVov<1VE=i@Tpqj9Wq>Ns@FC#T9 z-(d&1zC91^=_w#o^Dy8UQ!ko?h9}nLM^-iIO*eR869V=ffY{o_u%bZdwv3``>MfKI zG%nVtsz`OH@zn7hj%?u*od`Ucbj9y*%khNii6ut|7{T+;#MhmIA1f(z<2a_pZIDa^ z`Uweayn_i)lFb4D*PxnCN0sL29p^FaOO!4_8qgB38w??_<4je34j7LJs|Jtiy`uyH zNTILh%Sxz4HkNkAM{B|`HW4&4pG-KRGLxVQWQ%F(`PddF1ZtVLYPzBoKOUt{fJSe@ z9=~00fg@TJsyS^3(O+Y@d8TThf?_M$GW!c$4Er^qk8O-&bIhc3%&Kk7eM3wj2W_mFFXQ)S?8&wi zUNr2XL=7E$d*|x~AM^2`H|g?*g+<1*yN()05AKC^2P*CA!2?J|Jk3bI4tL10`$SGc ztjc|zVJd);R3a(RA7ZT@*ok{m+7^ksRYrc;36{WPP-qNkPL+?C89Y%lRZ39_HzVYJ zFxb>R7hvrdlinJkY+`U`%PVZ~rAaQP5g;#Cj{+zqSKw}up1HyAt_(UmfyDtuzzt@M zqQWss+^$~VWr9Eoh*Bc%-c~_73OATZVuN+NZbo_ z4v@_gsCJHwVB01id8EF`NKZ6`>he#4Cyp7E655g3tHm*$C7ROvwfP7Ng*|9uY(>4# zH|7!-@IxIP@LWp>EfhT^2v}kU&RtPKn%mQrDAG!Y=}{cO0 zBcrr`-g9zIJ^^f-j8xQ7%!L849j*zUks7Y)>%i;*yL9@%e_;A? zU}5`$YuCJuoXLvO4tB~NUYnSLnPBZ3x>w- zN%t1Lt-`r2onfyB@>KA%y3h?^g)9Nv1`jUV0S~Sl=1M2C>$(+PfX9R%pXb0wK_M;n z1xJS4g#9SeR`X+vt|OBePumpuPw*dwv9d~pX@>_F!vP029A*0UTkc&|QlQ9sgIqHW zsLA+d!nJB-r9fYtdxvLxtNulL$@D&(lHpu>BKG4M`FM*w>ND{YEW|`}eK4cjy^p<0 z1DpY)gD;6LmgfYl4cX}X1AC~rlL106ZTCsAYMa<{r$Nz^@$KJ-7N6G1?WK(oZb8#WFp%?r^F$KWBnrwyXIlY`8T}Xx=CzSk&BCmw$yzJ4c1#iX)>0SE z!$}r*mwjonFEK`((a1TwCgq!7}{~`uZcF`4McSVW49E2L%2r!uSIM z|F44YCOz0Nedip#81(_Y_@@?4FaY|lgPER2OQ2LN!hQn13A}4p zOYDvUpd06FL*D>Hmxv=m)LZ#btfu^95sAsWB_4lPTZQ&pwUd9|9}A76hq{O$rs%Y^ za*}cAU>0Bxd!{bZ0kPKK8m1O32l@goF@&*@(QU(Hq)f`>;@0a9n|@doq66 z$m~mED@-61kxhhSYh5o%ov8TOQ~NlYJlrTTC}5z|bZ#VQ?J$OgL_qX5Sa zGs{P0Ba&sCBQoP!Mrg==BVmp!;8AynhqGjDThCHQ|2HSWuZX;)jh?>EFU2xqVZ9HfHe);Ie>BP3TUnXuoBz^p z`z?C^5vBf{7(U~#rT!f+D`KlseW;t!{}cZG1KTowD4G57{nw|u`d<{?K9s@!?vDA- zM)_rp--!hOzBT?(V8f>TV}j&Dzm594H$zYRLuBs5(7$Baep619`JI#TrzY8l+TE`S z{u!fZ{1uP?Y_*bZxhMI}yx9v*)p-Hyt2JR*|`+ClNKbFd#NRUWQ zJ2;|8L#sSUqqlBx$2A}TCkDX7(?tS?q5$lr1N6C8E;CThx=_^Ao(2d57?vK_#QHl$ zExEUS@oa{C4gzh=J?s4lS4VEm`#s0G`nm5PFV^q`Ok zTsiKpEWcG!(WX>=rnjTTvljG#I!1< z*srEnv)xNCH}f;+(Azig-RIE7fP!?7huxM?h6Y+;>Uh{J(bhs3B}Ak|t}je|n*(=x zz0_nuVOafo5tQ0ON_uF62G@YH2@?0d&iY%UL+FG*`{NuGclI^zkDZnG>8veUIjAMF zgG6VJSFO>;+}?D@URK?r_L?aZ4Q=w}8=k0TImVLW^OT{d!02Q#_b9o) zG$Wvi>ze^xOQe21+MMcOomkwg_oty90e$bbNkqkzs7$z1O^)GZv6yK5^)4-dj0x&Z ztZlPMS>}@QI(J_;Uw_8YNKk4m!)vo#HdSnCA}W?-b4};!uG_l09cbx%k^JltcG)qD z>&I{`5C?N??n^Q6=Z*wpQq^NzJq~w6xhM=(yT+b(;6yQtPT#>NYhIc?Uwnn@x z69TWXx?c)0U&RoJf`JxUrP$4PtEmWC5W>i;V(|dSt_qV%Jh0P}$%uof;JSLKIdAa} zFYMeFYobD-zel7UgcFz9tWJ~0Jt)L0mU_A@+PBT>cOr^DjsaXZ@%N@WBMH=8RrPkyQZlOlW@jK_dpjDFTL3sBURBb<0KVD*UPKy(|fJzLUh9z+d``k$x7>0+GB0{A)r>Yw2h2iR|DBBE1Pc78Vc%veMi|x#necO=6t3>2u($)K zffIeOVn3}4!`h>LR&a=EG)LH%NV6L%%8;3vp`Y)Nj<^>RLsZ0q9I0zmVOlqIk6jOo z@5d&6LiovcniYv>)?}Dg?6pWbI%JU6WX}e#OV29E&N*v4ljY=6MFxU_(iXL#Mr~j2vK9cz$T#s@DK+-`-y{eFV z)_CEIEG|)eY_R!kDZ3xkaB_6;JVryMX8K~}`eV-y`1qKz&3j7;?XqazPC`-<+kD)8 z|2`3VpSXsKx~sdZLS-}EY{HHk&Ri^w{_D>UzLykg=6MwvhRWcD405naB41}3dOaTm z9U9>rp?+eJD7p0!xZ3#3BSJs9Ib!oX1HOYWDo+3EjOVuWAws33%Pz78CTcshz3SPF z>&>8viki;R6Q>485iKZJi3ykSS@a}8St0ZXm1{Mp`cJ;2 zW9pt6dEVSWY|m22pkx~Avq(7LrB0gXRh}afZJzE@+>81Uf4ZcHoGqB$nJc8VQOF- zeZbV%6TZpmnAc|M;L9|T>oR(f6LdV5E>yT5?Gc7YL?ug(XObqU6+uNLO(jlEm{)&s zk>0LRyh<9<*xb%jn~>5O(OQM8kux2bchU-+?N)jX*Mc7i21$c+TXzPvOJ4xvc=TMB z4IG>}w#O;P$?N-E(!DUtI=_p?%XjC1nHS=(rKQEg@8{DM+;yi4={Ik7K5|B96l!7` z{D?LB!H|Er4VYh}s=yaaj@%x(G166MF*LaJK0P%izic4Y(yYud5s(i3Ub^sTQ6ftu zoHQAy5LJ|~ShpmdzHnE4N2i`c_+7x9wy-kPTEQWHX2r=qyt%2lL;5ExN8eN$qGm#j zzTKFq*>QRjh3ta>o1ZiFptH3>{&#O!ej+9~CEM%JhLS7aI#la4k*(v5#fmlDgb0S8 z2paWwB(WenhH@OP(O`k|Xea%AS$gw~ae09mG7Lke-E+u2MY(a`kAbME^sMOK39Geo zd*PZls&{ve`V#P}i1($$k#XXnZU|>bw~07dX4y+k_Zo8F>|_wFAlb0npDa*1j_FJuH5S3e_9Z zsR!9Bz(l9p*rLJ$J}+nY>)%w)%~#sR^J)j#x7~}PJl7ezV7suV5&>NtZWOyfVemZ> zqucKHT-fhh*s8Y(J6Ug#Xo%7%LQxlGRRP&t-QQ4hb>8>_ubr~_3B!`o321*0(a zowV9gQZl2uWcvSQ8RBc+aIHT$5Pm~v% zD)vg+>6r@{TYLY=^OC6VbK4f$j_0h?I_n-5QL6me4W-BFrJbtR)+aguvVpyoz;b~H zV}TYaDd0_e@1CC|ELt`i9x_}eE>ZFg3z@MEjk3~Uo{(TpPqlQBK1jHBQGsU80p(cb z4nydSpG0G*VP&LtzW+H8_G>DGU`cz+4GG zJ`jPXFu_!g7^Mg9`Q*}RY7lrt@Y_OE3#uagw1r3n^|xV~Rw!hXQnsU?VZ1<*kB6al7R3&>*1`);)aR2RpxA(W>4k{)Z9G0myjYyO zayG?2uxBhC7T??VKq{j27Pc@kRvoIUQx*d){Du&A5|f89A`>Qu(19-KDkiY;s7!{Z z6nCk16rawgc@Jui?{God%Oxl~1o~T6VKW%r4N%~7PU{i-aNop1AikA%bGWe-u#X4x z*>_@=195DRSavK`K&8FY-!qL&D%Hf*ZD2>!@>6+*Wr!{*g;31t1aOtes*Yym5ya8+~F19Ul*ZRBNKm%|Ci z$DK*+W#~oL1*k5KkFAtIqkO6HsC7_iDRq?-fAZ=Sz!)IAuU$O%V6$|BIZXO7_7qRBTkr*+$Lxz<-{AASx8A~jYmA?F5Oe?VAQqAE-`{; zW%J!pK}!|eujT5`Jf8AYM&$|Wt#3#k27W%R+IQy`C0`}BM;fosH5l4T2asx5hw{C| zKr&0wE-WF9qziIks{lj&G4QEGu%bm@8+wp0A@=*>G{#JmAwif=>Uo!g?4}B4KW|_3 zruNGUxex#gQQA=0E_F6*i-!)SX^$Qjvv~3tkd&sUDYj=Vj?#R&PVPfzHHc{)NIi?D z)4f~K9EBarf-w`~OT;!MxXHj}1BLDOqJt z8$AlEKey_7=Ge*IqTLV5dgQ&omCQJ*QmwVly_c4{pO(;>c-om(&X0HePMl&N znugTteJ0RJ!N~R&tYnf4t9!vOD&Dmx23$AKaJQi|^1$gQ#+jmj(g>1Z*hKx>sT;;W zu3;~b=Gvcv#W`J}+Ay}UF`4vzopTcVdKXEF=pC}HtG8C*J5g&SHe|E?LPF5NH(6R# zg;4|LZ35Lv?WW}GS2>E#z9~PLr!6qcR(dCKVdKgQuR#?x4rW0=(ZwtvGNoN2NGqP zQWnL9g~7J{Dnp(Q4}HfGW~n){(5l=0;u;F<+QzoQV%ZTePez~E(;;WG7W z>YJfhr-*&)?6nCM>3I}f-`K^76H&^8)$TNgV4|nZNgg*#!zc z9Eq-Pr~&4IrWQEcFDkkQa_mB3^@S(tSzH26DL45sz_&aV+$P=*)WxUNAf$V#b|X( zFII{3ohmh z@^M_}>Kf@O;=Yms;FqlsBD|ca3RIt3WCtBBQ{HFl*@%7QIz8{?fS~74@A?#GA6F}b z3S_Jup_3?78 zT=>1UoK2sh$(LP1Qv$bD$Jc+1*OdM6+a__NsT3 zvzT=sk+zk6<9|SWK*~_9CKf7;yh7*0anR{X5Q8pv;SFmf8TE;-g*EY zzDg6j;=PDar!0t0?d*g}fofd)+JU9n@;duk%ugYgel1g^jC?G($>B5Ge5NiAN6mV&PGbeb2c2|e25SU~rrls} ztOe7Jr2zdZc_`!R4MA>g*;oc0#A)_h*vV8cF>=58;_>HU$04rhE`Xt z1mKQY^CFIzzwKExetUT4k{U}8Cua1gwoX{dU{CJd!0W;&DT3S2Y6aLwg7HzbXC$u_ zs6FWY;z3psn}q^c2NG<>+6?c!cjH{$5n^{v?r~_p_@>Ni-b#Gd8q6>x(Jdv19EWGk z^WgGiCG+pE@~Xo_Ao<1G^22p+{>;79w#W=8W)jJ4jr8W7fFV~%V`Qo9one;eZLZp% zhlLyJf0Bqg@EVBN=RF!9KcG3vil!VUkg&+Gm7P8{Av!kfCf>HrwBv7^>^XEb88mLF z7wE%!5PHuS?Fbdi^!6F+@5@VziZod6zD5ZdDJ&L|CEQcGJnbYf^f}jdG+uvg-6dsPcPCrILe(EA z8h5{t%1CwInJ5Exybqlw_AwP|PwDiSng^TMNQoyi2Gz3xCn^jWi}5WvGIT#N*v zdf0 z?ozmGB89tK;SPnnL*ec&iQ91R?c4XA>9@Q8Ghb)L${;i1n0D`Vd+LTe`iH1qb>>@uU?T{E%-Rf!m8c{b@ zvg>=eb|aIASKrzm9qytW$G<0-L0iE38gyGI?0KEjt_>0zJbP#2g^7$YeS-257X9@Y zN=lZOTaTH_61UL5L>ksw6m8On7OY~I{-r_{I21(r(KCUej&wp)KLy=)iVMh&A<&wq zU)ug=;SH*j@8;3u9O20=9*Qz*jjWlrZsphkfNZZc*OSv);nPM^P<}prt^OeB$mYgk zurc~eXWa|6ivR5=lLV{bDR~0}ku^e8+_JSWOp4}$y(tS?*65bUrvc)-gUw%3))jbl z3`Y8980L)0gk8wwqH$cq*thGU=!|V7a&XNBpp7jshZk)2Nbeqi23EDfR<)<)WE4WX zKqPuCSyUs^=L|=;$EG!{_QN?=8T#f7Z@Nbw$7^-M6W7N2*=4JQR4U#P9t0zYqT7n2 zwA6^kFOC!G^m)5@_2NZrl-OJ>!!>9Fn6g?^+MVw5KgDw5eX=9frJcv|J(UeTls%?^ zref-h{u8$}2QVSoUaS*bi#{XMNYQq~@>VzFtlk zBv-tUHZa@%sim%W?!msPAN<$)1KO?U8qQfy>Y^{mfUErl3*d=U@w28M|kv>jPJ z+*AW3nHTrgiJQ|rQ!3fD z4N4&t^=PQ>dHSd!Uls&zYeZc*HqV^4u4`LYR8~Zeb=LX}RQX(XQ5$t2d-1osz9nIK zy|uw$VTbmzoSjO^t)DzNrcepOWy&2aNIyD5$oe_@qx_^^VT5~isG9m3bVm_)kmP+ zaJ$8s{Yl{CUhPGPhTDEh1ZB4KX6<*jHf-)#nDgyjN(^gcY)kwk3JXQ3v z@Q7=)8L_KKg)NVJ1@{N>L~`4ifwsy{Cdsk3y&{CTxYiS0&->pzb*(m}ffq3@6|oNObXbsxE-)xJ*H0h5w5opQiIU}16pRTa#;lWv!l&r zeD)))DtPeQy1S>N+0Esrsl(B7GyMe$%^j6SYrx@!l=$GvtyK0IN99y3H6Vy1IZ?7` z_u{N(_~@HP9Muh;u7t4Ka6V;4852!2DPzRZi`T~kt!Vs}WF>BaAp>%=IGpDakgy(` z%EB>1ns<7p4`N+haTiK{@U76I3&AV>Jro(z%CHS)f$t>;-!^lKP9yBG+(EvxB2@zF z^;6Z0QvZRL@Vl9O>U)*x3y2Pcg|QJFa71uB3E zBAux?2QyV7EvCcb6JL^<6nC&;-wl|eFf6F6MgFy1SDRoN;Eq1Afz(7`3)=?5$@KqW5c^E64n$iZi?qb6)yYTg zpS#8g41soMZunJvx|hi3ZjSh**Bd&lc=)p%p>+kFxrg~%lZn|N4$Q5A%a;o;rhCec zO^dd;#VCCQGiFPOsYis_9pGuts5F~hk`9d5jxjALw+v6)g;4)XalDdyBQ^Vmc=98Pe zr`pK)_>Rg)pY4PMWqth?$j$}&ME3{)z!4Vm%iQP01#0reksWPWe&(oqas4{K9U`B} zW-@Drwv5Gx?zWt=s@&x5sU*{2SX`Yq*y7To`(9dr|Az)AhDH9NbFEBF$LN_W76qO^ zN}tCt#Do1}y|lINuc#c?fhu^O22ztWgVgFtecUM)iY<8(nmTP-aZ*8bKNWg1&`Sft z>tR^VWEC=|hIZs_$`MJ|ganj;sp3awCPG_Cl(tVRuh1C?jzO#%SJ9p}gC2wVk(wg% zmY3hBRANQ_qn=DKjqrY^Nf0r@TY3@}dlFiS{BjkHa~88BzwBfb!q)gTyX5TngXX*W z0^SD{X4Wh-Uze+c!TAI+TZ4Bn{;msb=bOCPA&e5+wuHUZc$51gq61bE@I>*!zE2N5 zdEq@1X#!quyewphX5x;2W@PQl_QVYwVFblU$#33TdMpKh!u2XgQ!OJ_U7id&*7^9| z=_ru>a0EAO%x99o01~*G?!$DnFr2HARIdEs6sbC_s4c9OD2*+=OU4wkQGF{0o#2YD z+Z6uH6PvE0#Q>^p1}S}XK#V`=8R1ay_18sY=Z3BuX9rA&r^q_l1%G%<@D+|vb~>t% zk3kk(biZ4y2TAHu;0P!8&IJi9rXh6W! zPcqkHu`s4})RUAU$#D8f393PIIFNpX(?{$WP_@XA0VkD25H<8X9a1<{tDlfwW!B00 z+ejAZEg?|`tGfA@MY6bFgpJtpWZr=m2t2ym-HmW9lp~jS3LM18V*2rUNZMuKIzQ*V<=p>bRq-tOfCL0Pc*S|Z z4B`cGEupACS;X!LgAhHCcbZ|gh(ho?#qYZLho10A_TYBJ1?sSoM8c?oo>NnFxN^ku@gq`zj|Dgl7v9FN=4|VSCX8!0hK2GdH}r)jpV(up$qxOTW#K(nf2Z@1 zW5T94_Q7MrSnR|lTVXvE|Jm*iMl%lxGPc?H#l;M9U*d|CqZ(l z%UnLaX1hDe#{l9VGP|Nr7)eXwKQjCXeF6nwxDf;L*H9fYF?Q}~q|Omw^??VH{=EX? zS>IKAC_=3|p$|J4fsdBd*fhKxzmr8eSP$qQsd!=}6hD$Vyyr>N2i1J^ud@xBbv)3I z-R2!c_cQfS9UOq??$Zn(LePF}%NiycCkRv1jAHLT;I77}vk$bZ8em>P)N4X-wMS>@ z|G@<#;q)OhbjC2!akB#~8J6rzG@Ttq<#!rYO?z{bSd+27qWDT>OXm3+67SU>@wsy4Z$f@D1CgKeN?;ezA zl*IQL6KN3BuFQ|uHrMzPOrHK%H&TM88dDds1*CggavANIi)YBk5Zb_& zwk`N7vEmVqm^xhRpGf(HYi)B?60EJt!1n01GmBHb20VCcvoa3bwS&2Qw*>sewftj2 z7LjCgcNKy}wKWVFRdvpXZiwn+$5MiZv31g~ZN~QzGR7^U%tl3zI$}1`*o>iY(>-^v zOVFPKUl&jFKkGd6rNV)qx9qumYRLIvMzl4f!qX;;EzONDKUE(GblwCa^tIxJqCu#!2*4)y%a>6W3+Yv&vhx#x%U1ciJ_MFw*%fk_>4w>lEGq&q5kv0+mnG49kAsSYnk zo*jo9fEuQ`HJ=c+dOTb^zBfJ>v);@zB*VuiS9(t|jjKq5r;veN?8{el@9`Lps69#~ zK#kg1DgI2C4DGH665`x#f$y$DJ$nlejz{U-T594qz~PO(HNY2Md5ccp}iRpybY zO)!G3v?b~F(DIRo8?#}EdNfaqKcW$<@xekJ2MGBxX7#PJ10BJg`0|u`IE}G z1v=|*)_2U+yr;D1I8uIfw?$S43qhK}z420L)p1}Y7A%nYB0kqDd?Lqzs&OAl0zIE` z;OwXE@Fn=ApzzTz|X#-T*U+A|DdTUjSoBu9=NMK`Cl@(hlOc;HCh_voEa z3+weOeenGDbDGX|l=hAmf0w)i*qc1<#vGRHr`|P<*i8a$;g}2&iSbp1m&Ld=guY~Y zkBGq9x{-(##dSe=q7a;CxxEI1={enzbf=8u!2jUWc}u3vH1h1c{4gLL-GfKSya!Vx z2~H1pmKb3UjJq_5MGQMf5hW4{Fh{kEI4C+sCh78 znwP_pK&!hq(4E-ThMYX0At%Y@lW{OHUwHt$bZ%hM9T#y)(FpW3R!%0?q~kZKU9(TD z2q!s%>@t2U_yDndopKdalDpx4;h+o2GtBKlubuSxXyhd~k~(G}cxJ^dZMJwNb1ot# z*rCugtqZB1(TM-0NDmq-}^)-ZRqzUxdwu>|}nM3sGq&`s` z-CazV;DyuFN!+LbYa<E(0=yk4zN6b1WgjE-)^*CirTCNf^73OwnmYYC*&Ik_E&_ zOz0Oz)S11eAzM;a3cxOW*lkJjgPcwSV8w;K zfJ8Y5iLi$odN3A`bFjEA2P8355wRs`U^fFoc%!(mTEzPF`F)k5)X13@L3|B)u!}j- z_fW9hE+0BXsKJ3GoA@FOgXaxk8;fDFjNG5V+*LNfX(n$~FE&)xg{ZAR=GZH0c<^o@ zT={;7UEQ}Q`6e_XJb{xhaR{qTxjc?fWp3)TrAv_|*E+D;e7KxDHIyE`HWQsQuD_$2tsHIKs#`$D&iGf%IO=t$JA9^6d`+kn6T zWrJx0Lnz#26nfATea9Q35~ory0GK8G(%6$&XT<-dbudv2hWodOJYi)7IO1$4mMK^Z z7=3O3Z=Lx)a~n`%l=es=6Q|JaoCuk^XyII}1-p|E^OrlYwT~i)b{XIXlgD-hm}d+_ z6XpKel_A~ykF^AOMg!-OEiCA!h>M-Ny@tZN z{)S2kE9>4w3ry=>3sdX1tmb(t6*a*=dV|VKQ!Ns&F+Er!fi94+j=R~=+UUx+P~ENC zg|ZjfjEOz4`X5pj9}2Xy=1eKx1Ve@9fTdpc(n5(qTIxg<+Pq#B+5%OPk`!gs0ucZd z@QP+vX}AC=N|QG21|S4z0a<8F6#+$TeW%vRUfHV+|rkSRhnwy3~(Lpi1 z$fU?5&!hlDk|rs>&wL1)MI}7PB-bS0Bs;$-KMzBWCOkeVJ~%!#K3ti+02TlMzyllr zEC6Ky8o&sEPk~C2geD57BJyEV2_Osr2ao|f@|-fKJE=4BKnehJ8gH3H!~$DtZ@EJv zU`H;9qF@FXOyezl=m_vF0^t^PDm?&+1PUT0xX&L|(O}oM&WI?Cm zBWr=6l1I!m5ly?yApyWv#Uo^>RQg1$jWdT&KY4 z2w*UEyU?LKU_yyU_D~BDLd`FFNL&B`%q#?9PzV-K(VQ05#Y__yv;)0>(A4fU{F@Oa zU>@ny=hXZXhmAlV(L*IbjG{-%v?$O=?ob$jqS%r(?G3zDY)PKx2l|Lxa2B-EoaQ=V z7i0i^q%B|yPJw6nPA~=f_p*sX%hWIF)2Be2JSVz>3SficlI$TCAdT8O--)%r2f(Sc zw86Ry@e&z4{}dTGucR$=C;_mft|)YZC^)96$gPW?hR-rYn{)t-P=79%l|1AD$WVVS ztP7p42VyB}3mtv}T+@u@u_aIA18Ql;a%W{qLZ)Q_s{-Csir59Xz(SRl)M++=3XQY! zQTD9-AuT|Kx?btq&7p^%HuZbjf^5kUHqr>LP5!J<$r|=9Wa`dLA=sQ!>Yu|5zz!^> zQBx|-SKXZPn;X~#4pU$HqXf&)Br4Jts*07wDuWkz0o;KOG`ot!g>0GeA<9?N4p?fZ2?2tYg|UC?ZxcMbT(fDwIog}(>0gSSJw5ZHj+VDuA&c!hLBxsdE?^>YQY zg;@K55AzIuLAen%C~N?4#Dli1=ohF-+LseXXp#+4b-k4 zzYwraXg*jsFgw8wfiA+Xc0W(B&JQQ*Rsx6_;lfYrJ9x}r$5VoJ1lhHOQKw7B-KTJE2CKLE~Zx>IZg8Xtf1Lc zZ{{`qT<~La%*>MAcK&FSG^TjZm}Q`+F9Q*~mViMU;>%9lTvQ=0W#Q0*sfmH-S3WC~ z*2svc{KuDm|EnWJ2ug);79oDU7eoGlx^JgOr#ux>$d{h=_8Y#UEfSWYB@HF4vu&y3 zM_FY*q~c4*hq07p=Adzd@jVXf zOql_Zb1F#S3e}Bf3NaN(e|CUT*K5lZ_+HI zXiKGTmIG&2g2l0i?Xvw!8XL+RKLS!!djD(1NFk<1v9m7nOpCldx9qWJ-!64Jl|v>x za^99h3del-h!T@CsZ)1!I)NRjd>6ze7=9R8HP!8)c!wY34lEbaHqutyjo2)DkY;v| zo6rjD8EUdn2G}?&_e2*6XXB?u@j4jm8u8iTRGFj$DVK=%R9hrWFIl^o8{CPskOHY? zXz{O%g?)6;(A}^(AMx3OXb2(Co5bUsF+GNFh@)ak3qQ zf3w@#O%vToKsE}Qv&3AEK1yfwi~T_i*?a<*T2)0jSzdgy=bV^~|r?fnW< zJ`%3;_<)dF{9)_ATF5y6Mx(r&i`bd|H1+*4;yC}6E%A>_>c6#+0kq|Xg(c`jZEYNF ztqdLiJu2nzz5fd%h3);rKeKRi5OcoUl(^pwK>rJ;m6Po+kJdkc6n4%(Jx2d2BgbPsm>ur+++E?;K5G8%K-3H~e{s8Wtu_U;pq^{oxE_XZz#J|38<%w*IsJ z)uj~K$U4KXVKWp`O>wn_^_3ZB>`~TP9 zKaTyspk_G#;#2*L>F#f5@4sGf{&MF1X-c%Pax!&z2Mk*oI+==@8rzzf{y7%^x->Bp zbG$Q`|FH1==N0Ib%hCybKk;t-z?7eUsK#`$hMz3Px~nEmpSj_?Ti2k$XwL$R6m&o! z5;J6Y`1g-eMvWwXrVCb5X}fVJ)BIyJBQ7&>t7ob7Bxf8{X&htH772CI367}=z+gyN z3*sGm;?oS=MWIxuEOXyes?~F!yG!r8)|dxS6c~6HY(UqC^;&K;@8fQjG;pV0lNJvb ztL;vg3qRbhYIwh~FGTI;*SkpAE#R_B(+?+^a(7ikzUK)P`On^9*4ehY`FD8=pF+S` z9z!*jB@sQ-;z%C3ro_F|8c*rNYXnIip>lQ88bD%TR#c%rX$Ng%aT!Xt@xSCi`(oEq z700>POGHHv$k-JV;AFPyjOWo5zy}2$2?&;ZJ@q$kTYtIMmR=gwSJ8aL zSXJ-e*}`cY8F15O)kV;ytEbbw`*!Y(WTMj|nuxi2aN~AX`Z-le$5TTtOtE+d;dUwa zn_fa<$;`2nM~utn&1cW4nv>TXlykkCD|jCPGo(BO8DxP52P^pNS@XEYBpcsC$Co5= z)}M*3PkH)8vL^`mqbe`_v0fTX1C@5!Nu}eS6BF(2B zva7Mz>d20%y)KS0nP?}?2$W%Srg}J%I`i5kTj*pwoh?Es1at4a--wL1vtaj#cuzwA zTtq%!4b{tu544H+J8GRO)huBAHpGmyCYNR{YYGgWBjaVABx|527>J_n^ExvL$0QZo-YE>l7 z9WNC0vrF_BE3jGyM}?}(@6RyvP?*eNWY7{}qKeDFsi~Ploz=F_RNxMr* z$+f$Tjf4%@Jf^5Lo$sbGQYLMM_s%q-IWAsAQKhV;?H5CL$gnE{o^C``zZfY`+uGp` zBkd-Ab15_|Y+e!wv1T6q$vBGqi3h-mbH=#<5AP6@h(Y*y%AO~W`6ZMggb{yFEWsN( znY-7qU)G~{lvSucM8O@erc<`3qSKOVJU1XI zQT3Td_hF=?f1o|czpCl>VpUgRUAGX`hQrY^+~uvweb?jJYq@h=f7YKB{%3)Uun!y+ z$6TG6XAKu!EAi!85#ljj#w8g~hXLb5yO1YpxFLrXh7R3yX%wcjk#>T;ysnO3cDCFB z{n2MlokiP~q>i!q^R?99f@Ea+`=0TxJdQD!Er>6pRLG=f{_tNI?->-Z9Mwq7Nk?(xR^eAjEYmW?EBb2I4}J~L?Rs9Y}9tgWqFw#>ez`pFj1 z{OmtlGU)GBohsZjXzmXFFf77@D1^q#5C#&LYF+Kom9jrBp^LeMHQb9)2&_T1c8buZ<9@ zCzIGqkC^p$bBuzbO}?v?fWuJgY=Rp*f(T|Jg5sRoxoB*u{qWoe;I#fP=zE}2E>sWX zM33c#z?Z;xkS*@xifC5C1p%zcM+7_g`Rxx)Vr3&5-}62ewNBu=h3!3KjsG%bGr&IU z!tsgt$#ngLVcO9U9ho`e$8jp@mL}vx_r&IB^$*yDA?rVPN2yN& z#V_c}h2y+aKbvyz(O-j-B}GdD^a?(76!FV6#_^^q!whtmBcqYj+t`%L_{82b*~har z_pbGZzv;=_%n4udRREC&&@It&ddGU@7hs-j_|l){wm@Sw$0!sIl*`$IH`%A-9VREv&Op#oMvho*l3=g+TV!?@wwC&+S-e|HOo7zI1QA*=f z;i{Q$nk^8?IXmCr`yD}gjRV_oiA4u1ycS`f8(yZ!g!>5qXNG}+HNe!J^Hu75PAP7=_D!a-6siTcl7||`dQ8*PrlAFL zwhGpyWZ{*sxjA7H`FK&r*Q>>dDQ3Q+>EHncZL-4`0NJ1V!BO#C_=Vq@V$?~)-igqa z`!F`x;Bsj=+_R{F7E0-=g@z<9q%5i6=2t@$)Cg5DGMDpyIz` zNW19`=0UgC^DmIw%7%_QmRV%&1ghX0-BSg&wFO{l3vGG2!7T-RD48ExZQ%*MnWgF5 zh9epK*2*q3jkOFZ;DSkxh=9$wG8C52)nc@)78^1q;>d+%iFLoH$%Tb0gItN}mi95C zv7tZr-5zU=FkSw0r?$tY@M#f(t2-mn%Slg}e)AcT&IDHsgJpQPi>{P?=Nu^or~MU1P|QF z@Cxu!2OjgieyEjBdWNmn=*kTmJYCy67=JR*w{?t6ym0I|dbe^x4T#puZ65K^tOEkV)3 z&*I63x%h#2;(b>gNc%cZJq(GH)csW;VPHQ%u2U?e#U~hR3Nr?Jf-QV%u>}s{DXCBW zVwe;qY8Pb!jgyIBTX@Oc{dg9@K*`VOC!sD_R-wX*@k-g*0~s@`PRSJ~fE_l>hkbCv z_#)+v#&rU?6s2iHA&ZrM#;gWQMsNSJi*6o!;v0#A`a*o@7IqDGR>(<M=xosg*r&)r4N7JH5WeSvr@WI(K|uqN!hkO&0{DNd(Pe$#?o(mVh0^>`)^=dahKIFT1(;?guYP(g1ve>Kv z>mz@`@@oRt2XJBR-^r`q%P(yQ!kHl8=1Amq865L=;EH%!+r&SsLQZy2z-QR&kTbqy zBBXRaCc4xKacCMqac>?#cIV;>tjSRek!{dEwm7RhXFGl}4^(MTiA8t=-Q7w z{p2gx){p!}d>QiC@S@~3d^#yyaObW3#`o=^oOIEuoAlwZS^4?u!LffExes>{XCQJ{FP_b{hPBw(= zQ&buW7GQRAZ)|liSI6R!KY!Hnip{nr=KDxsV6Bd_KT5j`;z3E?rrl*L4{!7Ihg6N;QzoX8?)iinI5x{NYE>oQMA17-U-U#dsR#cDJf~J5*F2VidXJzWWTV{xLxn#*WzZ5WmBt zz53{9#36rfm&X=Ruewcz9Nj`NAu=c<^Ux}V%J2=xrq)A_K1Z6 zZEVivwc7v4ZnO5b;m`4b%o_#X`P&`obD8GHuc$;YiC2_o1LRL-_bdD&DqAY`FqO^E{V29inwSK0LeTs;w_t>v3P1omgbHn(rUHfNu{fCIo!p8PDBa7?bW1#*~-2N0W z{t)5*Vq}SGNvX@p)2W*}yfcdo|GmEXA3OgSdGim&)jRj-e-SvD znf^;9s&}~BAHvH&3g;hj{@nC`QipTzs|%{ZQpmuRHESB+MO9CoM>q(> zvT+q`&6+q9e7aoa-e0-iUh_O_zRPsg_rpOoRpx}7PWwHuv@UQx2_VHH-x^8fbUxbF zxyKVTB8oe{#XP0^T@}-G944`sr)09*lBSM$%Joqc1qS@C>RVL(vyEjeE`!Wq- zrY-FO&5QPpYmJKYwkhU-D2O*?w}F-hvpUm)jR`-Z8UYvM)>G2~!wd6Y$ETci4R^rR zYdO*}aiBM&{h~TSQ8!7=43A?OWBSI4#Vh^d;CKv`w3^35tpeO|-N>+^gfTwH4HqaK zGEEHE>T_$RgLmb`^Zv`VZq|Jj|9KJotnR*FA+QBKAGEZ7pd~qqoT@oM-Po(KMVEng ziFl28{o$uQe8!CUdb1xOE1?n;cf;gH{tmFh5Fm2;&`gXA&;=UZ(D&PzG*)}wM?4d> z3o*`(+yrE{sRG91Zhwl?!@nefzrY@tBObk7hZsh>E;KF%SfLDee7_Yh0OA&@oyX?|ZWNOQ>9x}b8&*i#&Ud`|LVV^Re zGe<@ra#J8*;3Gak8>u}t^ZP3vpS&_rr-*9VlU*kKfec%g(c~*qd!Ix#4QXs@N-2OJ z?9dp*e0PZ*MBsD(6`6fn7sQl%$&-o5j)PEX+lp@F%&V zpt{JV_pHRkjtDjH%-6WrL4keTYQCJd?6vYtxz&ILEJaK&eXwH>P&+{xFkcV&n|Z`g zc7VRH_F<5hZV|a5?WU%2L1(3(|6LJ@V(O#YBG~<=CYP93G&RWb$z@1cI|#E0YN`X~ z+B;n@J9&Xxy(^qK@AuRzt3U#b65%G*eXCK~LQc9$=bCTJTjNVs(bnLc@JTCE?gM1* z1q{b00a+tUO&Cw2%<~puT`MV z)Ka-sd6ve-jo)Ilxn*BJ-A=%t6xLr<5$r-Q$u=sdpY{7Rhultqk3Mm=iwPF#Po7tQ z=;ga`XP3~A(QQmzjk*Hk9n3UltWI9=JYm&xBLt9irfOV#)9cZ=s-SMYmwx4WtH+^A z6;D2pSR{)MZNyNYU^F{w`ef90j zTa~hmGUqQ}M$8$^3lOr~1K90`50I)FJ!UcjMCQ?Rbz|KBBb*>>1o0%8v|JmiHF!+8 zIq9>QR%8wEvuM~)$_Ds?22;eM6wW<=dcSEaqBXRvxb%SJg|2?Uyw($Q^}7#t6SI$$k|PwR_pbMP z%Y2IwULzcc)>lQZq)yvNLj}}G7UlS3*go8>>c=4d>nT{c?&wEWT_+MvHYzG!{R z)h1k z^0voR7C^Jy3;P+jts?h&_v1an7Kgpg(Rs<2)gJj0&-*gB_N+a!0}S~af@cA?M>zel zMitFwz)QM1*_m(ATBzH^*7AbMC95flH!LWYy97t6sL-q|>^vzvX2s#^c&n^Nd*4=5=ZdQW z-ZAOL_~zRXKql{u;RBr84G!AfyO}*zPD|mnPOOIn6-FIV3VMV^7MKp_O>gGZeG+UA zqgg?+x6a6N{ShApeN!HJbs|h!Wyc~k5wmd8HycTdoZ~Kjsk;T_vZ|>MNuv1&FP_yS z>p91lI%_Es~r18^(* zdA|{^g)vSY&3daw)$0ITKG$b_Qb8$7ngNt5@JBzl(j?}W9U`-LCl?Fs((WuIF9>dV zgA}ZIuWqe8@E!(791c0D*8|>aXNzbm+rF=8#kH{BIDQIp+aVE=bBoB#xdD0hS~ncz z(LL>7iF%pWA4tUnt-6hDp?-NhOzg z_Tg>C0G{3scQ+&U|8;rW!;Oj$cv5GuVYcz=k?)Q&X6caKdFg<3O)ImzO9^Id#BJ&v z?d9K>Y3ftmTvG{H?&Vvl#mb(|qwnWbhtyvivDa@w=FF4u>S@@(YCzN1D^r@^O8On_ zIYoJVd|uXsvg(hg#o6K95sWuYKyB|ewib2%y4r-h8uBzF;6*0jzq};8;^1*%Iwd1{ zsO5#gZ|=?cKIfu{HlXiV+WlJ>Vh*V8U!Q5(gKc9P53}qzJ(J}(U7SDN)#^hh*_@s< z8H#!?Ys^>aw3^+NCemrARqCu%8~9`!%_l#zj+o14x!lZ_Rnn&^YdeVB$Jt)xcZWf( zd67-zS)%vHIK~hpq_KMJgl_hHSrp9>tzluscS$RS9WSOfnH6)cCH_VW)qk?s7td+* zv6lf=OpYKob;Meh|J#qlWF2UO=B;%t=;@^I!ZLf)FFTA3)1tvPuUuab+N~D5nT}kc zqC#zaOy;WUk9aFu(4AvokU)xOrP($$#e^)D92Maqxx!A#gTv(UQd%S>;4{V zGq#qKKpT(OK!J8+Xo!QxaeUOk`Q(^4LQnEHel$tagPxtW)UR#O5bI$d=jV@cB5b1q zZA8{M@FU99Z)JboGf%r&02iIo8Cq;>@ikv zijtz|VqlKnim*AtMV}n_Qc1%AXbLXqNySO!SH#_FtDEL2uKkwOTt3I}DUvRM5ZAGq zK(<{ggvt=YF_l5-*eRS-Ap|!QR+O$5>iFl!aPmsk3R}j{>ElR>pBx zXprmMaU-qmoI-L2qh~>zY*i`=ywcy%^m})dN)B7IaqBg|wJ?5#PLo7B*)A#|2mQ%x8y31g(QY=@gXuRt`5G^?ro-7oE34@@;S zIR31SmGt3R)iw%Mn;;`951MEUb63CBhvi!%Xo+B< zD=F}hy^xNFH;U{B;e>CklI>Bsm1$hW81$Y=(i6kJxn95i-db#vUk?Dh%32dE#$2zk zOt>a|z!I^Yk}zt(LuFMi_>5&sQd~1|`!weuX!l%>VEK&0@+{H-txVJ1K8}R_(oM!c zu#v)Y%nzK6RO}~1GPsy|RWNqw&%7s~wDZzHcj@sFL zOsq^18g^o0;qkHf0jIJO{I!};j#QKTq%tcbE$FNeXL;%h5zzFlhBT(D0W59|V+@C| z+XYk|_gjcqj0kt5q##>EP1PaEJsB?hL+R@22tFuv2J3zVE2v_=ZY7AKrIfUdYi}%5 ztf&cgkNCqBM*ltZv}l?)jmqW!}n*BbU<|ia*SR8MC%%T zp!PiUw|H9ba(f@^AEx_}%QTKN%;$BPe(DISa@@;ivJwEe-6^l_d3Z-QO4hhxZNXZH zKkFP*+TsiX4{se!RPKVHWHC8c9PS`zF~VWMs;D0Jk@&rUI+^( zE7HNMeaYhK=PI|naa|{RYs;@%e>DSLk6*jCRJzhbrhz|!I;}n|^S_X2ALUN)zFn#O zzIof!=WDix#v5R~y3--9;1Y~XyD!5@P8fMaAS)rF?W9O_Go@q?6}+Ib;Ir7e+ag=A z*viYdZkwm``AtS?iJ6$!iyIz}Vo`PPCl8L{AiO0~@nJIB13tU(vDcG7M^P&qd)75b zJRvAyI2s`CaMD!MiG6+I^@Z8KyV&+hvX%Q`JUn>X(4EsD> zMK#4{PQ^`paS=cTDZ3)F7#Sz=)XO*sX$K$L=y`=Od`pNe=>KYZi6%g8QkxtoJ8mj>2jnkIz z33Gq$2Y6|O*+KCmLh^V6Ye#Y5Jg_;|mtnuG0QX5)_*#FApZz2z>EORtnhw^EObrD) z>yp!ekh2UG?f0WeuDn(P;Ft8hQb8rqQfAs%)3UCB%3O9)AkYaxq!TJ`*?-WQ1gdll z+lr&eI=s(p!76y{eI=m^5QphM?(#>iM#zSM+*fo7WDBzfw?M^xsn%akp3;r|LeDuDC0J}L-wi#781bNcRV)>hejweg7l!fKQ z!lea#S$(3YIO_|N-;C6TSC^U}u@LIm&@h)tckz!~-dG$|g{Z@MpiT5TdV-f(!6N-PN0nt}%6!_@W zn8^A-;x_+(we}?NR5oARO0q$9IJ`cs5ckes*G;lJ zsS{(Hb!EzGM{2b_Crn z4WgT>WnQg{8I7FZqMzLD2v4+b=Hs$kuq@7I$OsfRb!S&u!Eu;o48}`H(~i|Nr#l6| zxFTUjUo0>d%aX6QEbI{bpjZ9zXh(TMwYe|K$+DsEz0a=q*s({~k4Bx~h@qV;9?wK> zIGR2;v-6lvGBzm=ldBdk{9ybD&(63`#~Cwsk(Tl#FTE7yU24Ndb4UCh`>A~4{MPCE zW=^z4Yx>z>(8k$=H1nx_Nh8!#-5DrzwW)o&@LAqxfk$NXY9fbP;snd?r5~c-)_BR6 zAd@S^dX&99Y1cCrj=ZiEjKowRt(nB; zjf)1wC1Iy_``xT*zSnTCU9K}QtEM-9pmCtFZ@=_;8T0V#;r!tm7amx-iLgw=8k+{Y z#)7p6OI7;KdxGxj2pZ+yy>y_plN0%bhv#M^5C3tWlK~v)3(xgVD#a4oj0YUF_n>Zm zIj*_?W&8t%N7LcK=p~%LIPPqba+clggR2(fB1og+&yp3Hi4}t!A%$io1qsI!-DgXD zTLsyNp6BSs9>|a~95G@_#hy^n{8*6oo@(C0-!&j!?#}S-)|X|UUypPNr|dY)fo#e3 z6+7pf=M(nzL67deQx)e<@As(^jQXhSi5_A#6MQ@Q&hlvcuQXubOj`%-0d3s ze{4tLYnI-{RjJgToNuR)6CpL79TMNFcVPd{3(me1(3xYtG3O`e%?8q(9Wgth^8o#jZwvycPb~p=0vU&Q@G*F z&&JXd(aDA_MZ9?{;^Stw0u90q#T#>Ct@m;hKwk6?|9io23 zw+_KmdH0#!9Bw;q+PMER&gr1lK%mX3qPnUy=lg+K_1Pbdwi!(tt6$#gq-NC|sEo!G z7-dfxr0b#!s}y|8=Z&NjT*;lNhsc=!!ADq3fuG~TohdEndQ&G%6_`0onpAx3Yy zb^)PulWky-NN>ZmTP{J(P1#g?tgCpeCas9W-mF$aQ)#xd>#%7YJtRo4{l*>sFssOF=BV%$nC_0{F%fZxowt#ewzp>e366K=opS;7B- z&r0N8M{o$xIX^Ar+Z!hL@2bS5YYy+054}Qbxq~P3bMT|ek5ja{Wl?%m*L*&lX>6MK zh|+0-$>aOk(2EM;E@9jU&oYcEyy-Z_h~qOHm^u<2xq){9JB*5q_}d{eRoNWAKPYji??*4M#1%4>6xq5D@X}<<7D;N4BrUHtnme2m&r%w(WN^} zH+}x3u((4%^p@Vq6`F_1jy=B-;ySMk6zZ1@|IjN#-$+AQRZHB!{-lkYmW`L5(@85w z9equMpL3f(4zVR-zyJ!2i1TkVn7}6k%wXbRC`>4=;Ez*b{%`{GKTGK! zXED*JpJH4;i@A2*5HuV3!z}{_|BrqeC@eUP2TBT@vg>5%Xb-KPhvCUr;NyR@0w4eH zEAaJyPTqpUdyq;bbCM?w15R+;?ySuWsIa9m>z`V^mIkwAx?5~mN2Qy0+T9RqV&9#Y z5mRp8A*hwKD6=a2WpdW`YeRTIxpivo8$nMV8J9P6iJtDX4L8cu0vPU}71LxlV?6B< z+$FQH^;J^wDmHoANBd^gXh6{64+DxPU#NPxyPp`BCfK!4cOTb~Ng4dKt-B~HJ)7n2 zpyb|u(Y<%66RIN0BK@^|tb1SN3(F1U-`X>!F1jKAm0@@iv)3x@6!zG~ z%dp9P#m0dN)e$2Y$$jFo28(0vNXE{G{-RjgE9g&~ji{pryOvAm;^r*40<64xH&~5c zl^Hqpq1mfRUv+SMK~#u8hPzoo5S?0U+KJ~5-4=u#aQtbbZ`VQ2ekb?f)m5vLX}e%<0L#Vg_tS6nDw+I)|}+wXOa!-u-E ziXn@8=bSm<$V(3j@ktYpl!8+b>?oxs9?W8C;WCGy^^2>*t<O23o_t2A^${ zj9KG~nhQ1+?v@yNyy2oik*wBa;LRZpI^#OtLb|%Gg&THR*PWHHVh?N`+}}Yk8!YzC z53}%2&c1wn;3B(<`SBrGJ#tce!d6jg*sT6i@Ri{!!=e{8R5~_iNj1of&U{cD(q}B|v7*P%Ikui#GS8x_$Q0h@I;QERJs6XF0$1m56Bmr-T=27u^3UV)YD;~-MRBK=G{O#_Kp&ia zfY?WQ4;z-Z>!|`*&XqZ^N`-{$kbKW$*KHD9_#AVpKQ39xoVV z_N{n0R(iVS9r`*;`_;m?CQU^XOl{W5#(&+m-F80Ia!AuHu&2>G`1Ov02lSo=ZBCAt zY?;Q`w9>>f#LwhUnl+RJk6vjz!W=r=J)_Qc?HpshID@y)C$q@~wu^!SAuhbTWyLrx zaWS86)}_Aj_TuTSbT}PC#asu;d!O-(7sZag+_I=lo~&d^KkeB*J?Jy9p1DB z-dq{&h|%-?gQGg1tP))#{$A?5y`}U)+)^IR%4~<+L#=r})+Jc<8Q05n7W|`ESMH%N zyBzFiw)gBWz_eLPnq3V(BC+dj2I5r1y-U5Pd(sGW?;`h1D&WI&Vv07M7cCDTrPg1V zj5n(o;(h~fnpK?%f*D6)9wwiByZknJpKP`r>`6%cK{MYuh8ZEj&LDx>=!GGvrMsE~T&u9dq%ZGXps`FWI=XrqoyK*yJk zp#GxTJVd%`g%bZrf$E_7%l!?}rP}rxr9%=mLi6pYb0gU=lssW~B<5L76Rt~mZXJu9 zJ1X<_@S(l?reRSL0xSDJZHziN!@L_ey%IPso!7m^^h;9vhspUBrt6$vj;x5j*Ji%S zOw;;ew`}xIzwSQg`@5?q4=Q>y!#S@VXg3!-)G$Pa>kSp%^2j`BM%7PP=%IYn0oA}T zPV@mA6ERLMZ^gc6FNNG#TKit_+fol>SzI>3KV(619UN%R+M;IT>N2CT^+~2yV;o!l zFx*0OFNRr}BZW%#_yq5Jdcz@?PR7u^w1VtgX$X8r18AhiPFNfs*8+anJb;cllXkXSa9oycZU^iaj0 zr&k!1oOoYft)q>D-Pz&rX7eli{A2J_8JPz@^S{@b=&V#2?m%voac`~_5L(zK_4b13 zH;uy3_Bu0HN&48Yt?u`VSw@1=m!>OzW7(}+>4(G<&_B)N^((NxyL1!&V5MKwQ^zw1 zrbi!qHuF^}Z8%Glb2jqEbiGv&rkp-4#9knb_1s+D06hG*RzLMj3ujQcwe8K-tct%B z=3jGSErXj)rd%u>5Ai2`I+80QXqQnR5WjkyH@PX@r?)5A&FQ9c>7JvhpPZQk&%7)- z^kh+x3g)-KRa3;-8<4s&?tG$~JU)Xt@=`u+n7+n>^xX;!glhZIotEAc*!X7 zcVey&Ua&sD=Amhh;N0f+>MHHn{+@^iAvZOzZhvFVyGJad;y<6Ci=K^%xp~w{?ND=B zvq9p~0*#28+RzluS)V!mm(>w@8cG^_GpBc6iXc=yj1mv1jaiLNrYsbqpuevXL?eEh z+k`({Be+jdQBBEMT*=Db)d^ZTxCggq&C?k8McTT-eyw`@em*7wwg-uY5s(;|6!u?D zXn;brH-DPYNG$RGmj(R;m9Yk{Hmx&nuAxsS!y8{W<~ipELcBmNOE$=8a9} z;!G6xA1wexV5IleL(#P_4vmFDzaRI17UIBa&0jHa#L>sE`yW@t(=}0O7?wB~ z!4iH@LlNC+5ilqufTJpLXlQlek1v{lAwsaA5>gHW$QLG3mXeN@t&JP8Ob*x|h5Wvu z#PwjvwE(aK-Jv0BAb6Ez%>en{yFAB!!SgG5Do_HCjgNH*Ca=cLI|WIHGOwi4{LX2aM~#p53UauQrbH@ z5U+J$gr5n*b!@+9i}>gO7-IhNPzH_Y|0`MKx@1xRr)1Zp{~K;mKgRdJ_7wO7A&?}y zo?A3!_4tEi*DA?xxFy!t|GLOXk|p8xM_2e?31O`+|Bl=BJ?Yx3fIkrev59<7c0IS? zO~?PCf~_^V-*Ahee5LaT+>#`_o?Bw8`CXA2xZ2q0IXSr#S<$g_1#f2{5RBO9*Oc!8 zphS>sdSiXV1$ye20Dh_k5{&gC(s6Y<>R}Cb1rV`@`a>8}5{Z?>z(nla-JPZ3a3avw z)ymn<-r7yl$<PZhTr{{qDX(19`uaJI}{hlf_M-9z++;5pb$k^J0hAWLVG92ePA;NmQ zBVZxZf&>QD5+GJG7_gbhUTJnqfNc%PU`Q#z3>gd$1VfGoV36`5Ne{TjKo%+q3_$=5g$xGpAR~_i574D3 za}?A9$nfw8G~`}I5*Lra;K=I%c*zZ^SrR-Xu(io~0eFz%M}mg}4V=6zQE1@dMTUn* zfGSS`14@JphC(9<yAhVoA1{frYLT>;V zh0ehsaZs;F78gu$k;71c8*&&HL(!%&SPYhe7c8DarWh<9GO9`G;;=Xh8U*4%gA|W| zqSRpo9A$c-3Q^>P00d1&7icSryx~CeC6_aRVaUrI48JIJ6M$hU@Gw}Y>mkVp4v&S5 zP;wZS5)V(&rg3-zf+8+~vQ0xxnq1BRM$s0eaFn_ez$j!Tg_FXP>sTqg6f`Iz$p?Tz z14L370ZCCeq=0^=NRL3EsHb=Y0YP4F07j{Ekf0YOqYGL&nPy+5A7+rgBdJ literal 0 HcmV?d00001 diff --git a/devPneumatic/PneumaticComponents/PneumaticValve52.hpp b/devPneumatic/PneumaticComponents/PneumaticValve52.hpp new file mode 100644 index 0000000..04c148d --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve52.hpp @@ -0,0 +1,1214 @@ +#ifndef PNEUMATICVALVE52_HPP_INCLUDED +#define PNEUMATICVALVE52_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve52.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:42:05 +//! @brief Pneumatic 52-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve52.nb*/ + +using namespace hopsan; + +class PneumaticValve52 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + Port *mpP5; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + double delayParts17[9]; + double delayParts18[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[18]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; + //Port P5 variable + double p5; + double qm5; + double T5; + double dE5; + double c5; + double Zc5; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm54Pos; + double qm54Neg; + double Ng32e; + double Ng12e; + double Ng54e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Port P5 pointer + double *mpP_p5; + double *mpP_qm5; + double *mpP_T5; + double *mpP_dE5; + double *mpP_c5; + double *mpP_Zc5; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm54Pos; + double *mpqm54Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg54e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + Delay mDelayedPart130; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve52(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(18,18); + systemEquations.create(18); + delayedPart.create(19,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + mpP5=addPowerPort("P5","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm54Pos=stateVark[6]; + qm54Neg=stateVark[7]; + dE1=stateVark[8]; + dE2=stateVark[9]; + dE3=stateVark[10]; + dE4=stateVark[11]; + dE5=stateVark[12]; + p1=stateVark[13]; + p2=stateVark[14]; + p3=stateVark[15]; + p4=stateVark[16]; + p5=stateVark[17]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ +qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); + qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ +onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ ++ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + delayedPart[17][1] = delayParts17[1]; + delayedPart[18][1] = delayParts18[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //Port P5 + (*mpP_p5)=p5; + (*mpP_qm5)=qm5; + (*mpP_dE5)=dE5; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm54Pos)=qm54Pos; + (*mpqm54Neg)=qm54Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg54e)=Ng54e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE52_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve53.hpp b/devPneumatic/PneumaticComponents/PneumaticValve53.hpp new file mode 100644 index 0000000..66d47b7 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve53.hpp @@ -0,0 +1,1214 @@ +#ifndef PNEUMATICVALVE53_HPP_INCLUDED +#define PNEUMATICVALVE53_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file PneumaticValve53.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 5 Aug 2020 15:27:47 +//! @brief Pneumatic 53-valve +//! @ingroup PneumaticComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ +PneumaticComponents}/PneumaticValve53.nb*/ + +using namespace hopsan; + +class PneumaticValve53 : public ComponentQ +{ +private: + double Bf; + double Cf; + double x0; + double p0; + double T0; + double R; + double cv; + double eps; + Port *mpP1; + Port *mpP2; + Port *mpP3; + Port *mpP4; + Port *mpP5; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + double delayParts5[9]; + double delayParts6[9]; + double delayParts7[9]; + double delayParts8[9]; + double delayParts9[9]; + double delayParts10[9]; + double delayParts11[9]; + double delayParts12[9]; + double delayParts13[9]; + double delayParts14[9]; + double delayParts15[9]; + double delayParts16[9]; + double delayParts17[9]; + double delayParts18[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[18]; + int mNstep; + //Port P1 variable + double p1; + double qm1; + double T1; + double dE1; + double c1; + double Zc1; + //Port P2 variable + double p2; + double qm2; + double T2; + double dE2; + double c2; + double Zc2; + //Port P3 variable + double p3; + double qm3; + double T3; + double dE3; + double c3; + double Zc3; + //Port P4 variable + double p4; + double qm4; + double T4; + double dE4; + double c4; + double Zc4; + //Port P5 variable + double p5; + double qm5; + double T5; + double dE5; + double c5; + double Zc5; +//==This code has been autogenerated using Compgen== + //inputVariables + double xin; + //outputVariables + double qm12Pos; + double qm12Neg; + double qm32Pos; + double qm32Neg; + double qm14Pos; + double qm14Neg; + double qm54Pos; + double qm54Neg; + double Ng32e; + double Ng12e; + double Ng54e; + double Ng14e; + double Bfe; + //LocalExpressions variables + double cp; + //Expressions variables + //Port P1 pointer + double *mpP_p1; + double *mpP_qm1; + double *mpP_T1; + double *mpP_dE1; + double *mpP_c1; + double *mpP_Zc1; + //Port P2 pointer + double *mpP_p2; + double *mpP_qm2; + double *mpP_T2; + double *mpP_dE2; + double *mpP_c2; + double *mpP_Zc2; + //Port P3 pointer + double *mpP_p3; + double *mpP_qm3; + double *mpP_T3; + double *mpP_dE3; + double *mpP_c3; + double *mpP_Zc3; + //Port P4 pointer + double *mpP_p4; + double *mpP_qm4; + double *mpP_T4; + double *mpP_dE4; + double *mpP_c4; + double *mpP_Zc4; + //Port P5 pointer + double *mpP_p5; + double *mpP_qm5; + double *mpP_T5; + double *mpP_dE5; + double *mpP_c5; + double *mpP_Zc5; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpxin; + //inputParameters pointers + double *mpBf; + double *mpCf; + double *mpx0; + double *mpp0; + double *mpT0; + double *mpR; + double *mpcv; + double *mpeps; + //outputVariables pointers + double *mpqm12Pos; + double *mpqm12Neg; + double *mpqm32Pos; + double *mpqm32Neg; + double *mpqm14Pos; + double *mpqm14Neg; + double *mpqm54Pos; + double *mpqm54Neg; + double *mpNg32e; + double *mpNg12e; + double *mpNg54e; + double *mpNg14e; + double *mpBfe; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart30; + Delay mDelayedPart40; + Delay mDelayedPart50; + Delay mDelayedPart60; + Delay mDelayedPart70; + Delay mDelayedPart80; + Delay mDelayedPart90; + Delay mDelayedPart100; + Delay mDelayedPart110; + Delay mDelayedPart120; + Delay mDelayedPart130; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new PneumaticValve53(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(18,18); + systemEquations.create(18); + delayedPart.create(19,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpP1=addPowerPort("P1","NodePneumatic"); + mpP2=addPowerPort("P2","NodePneumatic"); + mpP3=addPowerPort("P3","NodePneumatic"); + mpP4=addPowerPort("P4","NodePneumatic"); + mpP5=addPowerPort("P5","NodePneumatic"); + //Add inputVariables to the component + addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); + qm12Pos=stateVark[0]; + qm12Neg=stateVark[1]; + qm32Pos=stateVark[2]; + qm32Neg=stateVark[3]; + qm14Pos=stateVark[4]; + qm14Neg=stateVark[5]; + qm54Pos=stateVark[6]; + qm54Neg=stateVark[7]; + dE1=stateVark[8]; + dE2=stateVark[9]; + dE3=stateVark[10]; + dE4=stateVark[11]; + dE5=stateVark[12]; + p1=stateVark[13]; + p2=stateVark[14]; + p3=stateVark[15]; + p4=stateVark[16]; + p5=stateVark[17]; + //Expressions + qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ +qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); + qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ +qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); + qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); + qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ +qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); + qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); + Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ +onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ ++ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); + Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ ++ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ +p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); + Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ +onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ +Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ ++ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); + Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ ++ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ +onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ +p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); + Bfe = Bf; + } + + //Calculate the delayed parts + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; + delayedPart[6][1] = delayParts6[1]; + delayedPart[7][1] = delayParts7[1]; + delayedPart[8][1] = delayParts8[1]; + delayedPart[9][1] = delayParts9[1]; + delayedPart[10][1] = delayParts10[1]; + delayedPart[11][1] = delayParts11[1]; + delayedPart[12][1] = delayParts12[1]; + delayedPart[13][1] = delayParts13[1]; + delayedPart[14][1] = delayParts14[1]; + delayedPart[15][1] = delayParts15[1]; + delayedPart[16][1] = delayParts16[1]; + delayedPart[17][1] = delayParts17[1]; + delayedPart[18][1] = delayParts18[1]; + + //Write new values to nodes + //Port P1 + (*mpP_p1)=p1; + (*mpP_qm1)=qm1; + (*mpP_dE1)=dE1; + //Port P2 + (*mpP_p2)=p2; + (*mpP_qm2)=qm2; + (*mpP_dE2)=dE2; + //Port P3 + (*mpP_p3)=p3; + (*mpP_qm3)=qm3; + (*mpP_dE3)=dE3; + //Port P4 + (*mpP_p4)=p4; + (*mpP_qm4)=qm4; + (*mpP_dE4)=dE4; + //Port P5 + (*mpP_p5)=p5; + (*mpP_qm5)=qm5; + (*mpP_dE5)=dE5; + //outputVariables + (*mpqm12Pos)=qm12Pos; + (*mpqm12Neg)=qm12Neg; + (*mpqm32Pos)=qm32Pos; + (*mpqm32Neg)=qm32Neg; + (*mpqm14Pos)=qm14Pos; + (*mpqm14Neg)=qm14Neg; + (*mpqm54Pos)=qm54Pos; + (*mpqm54Neg)=qm54Neg; + (*mpNg32e)=Ng32e; + (*mpNg12e)=Ng12e; + (*mpNg54e)=Ng54e; + (*mpNg14e)=Ng14e; + (*mpBfe)=Bfe; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // PNEUMATICVALVE53_HPP_INCLUDED diff --git a/devPneumatic/PneumaticComponents/PneumaticValve53.svg b/devPneumatic/PneumaticComponents/PneumaticValve53.svg new file mode 100644 index 0000000..c4a9a74 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve53.svg @@ -0,0 +1,814 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticValve53.xml b/devPneumatic/PneumaticComponents/PneumaticValve53.xml new file mode 100644 index 0000000..79918ed --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticValve53.xml @@ -0,0 +1,23 @@ + + + + + + + + + Pnenumatic Valve53. + PneumaticValve53.nb + PneumaticValve53.pdf + + + + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/PneumaticdEsensor.svg b/devPneumatic/PneumaticComponents/PneumaticdEsensor.svg new file mode 100644 index 0000000..aa1e812 --- /dev/null +++ b/devPneumatic/PneumaticComponents/PneumaticdEsensor.svg @@ -0,0 +1,145 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + dE + + + diff --git a/devPneumatic/PneumaticComponents/volume_iso.svg b/devPneumatic/PneumaticComponents/volume_iso.svg new file mode 100644 index 0000000..3454d0b --- /dev/null +++ b/devPneumatic/PneumaticComponents/volume_iso.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/volume_user.svg b/devPneumatic/PneumaticComponents/volume_user.svg new file mode 100644 index 0000000..4948228 --- /dev/null +++ b/devPneumatic/PneumaticComponents/volume_user.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/volume_user_movable.svg b/devPneumatic/PneumaticComponents/volume_user_movable.svg new file mode 100644 index 0000000..eec81a5 --- /dev/null +++ b/devPneumatic/PneumaticComponents/volume_user_movable.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/volume_user_overlay.svg b/devPneumatic/PneumaticComponents/volume_user_overlay.svg new file mode 100644 index 0000000..9da55d6 --- /dev/null +++ b/devPneumatic/PneumaticComponents/volume_user_overlay.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/devPneumatic/PneumaticComponents/volumemulti_iso.svg b/devPneumatic/PneumaticComponents/volumemulti_iso.svg new file mode 100644 index 0000000..7a03a21 --- /dev/null +++ b/devPneumatic/PneumaticComponents/volumemulti_iso.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + From e819b7e8f1d60be8b4a5d387d74bc1ee8bab71bb Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Wed, 30 Sep 2020 11:59:48 +0200 Subject: [PATCH 3/8] FuelCell added --- FuelCellLib/Examples/ElectricFuelCellTest.hmf | 250 +++++ .../FuelCellComponents/ElectricFuelCellL1.hpp | 407 ++++++++ .../FuelCellComponents/ElectricFuelCellL1.xml | 19 + .../FuelCellComponents/ElectricFuelcell.svg | 171 ++++ .../FuelCellComponents/ElectricFuelcellL1.nb | 962 ++++++++++++++++++ FuelCellLib/FuelCellComponents/FuelCellLib.cc | 70 ++ .../FuelCellComponents/FurlCellLib.pro | 36 + .../FuelCellComponents/FurlCellLib.xml | 6 + 8 files changed, 1921 insertions(+) create mode 100644 FuelCellLib/Examples/ElectricFuelCellTest.hmf create mode 100644 FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp create mode 100644 FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml create mode 100644 FuelCellLib/FuelCellComponents/ElectricFuelcell.svg create mode 100644 FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb create mode 100644 FuelCellLib/FuelCellComponents/FuelCellLib.cc create mode 100644 FuelCellLib/FuelCellComponents/FurlCellLib.pro create mode 100644 FuelCellLib/FuelCellComponents/FurlCellLib.xml diff --git a/FuelCellLib/Examples/ElectricFuelCellTest.hmf b/FuelCellLib/Examples/ElectricFuelCellTest.hmf new file mode 100644 index 0000000..fae3716 --- /dev/null +++ b/FuelCellLib/Examples/ElectricFuelCellTest.hmf @@ -0,0 +1,250 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + FuelCellLib + FuelCellLib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp new file mode 100644 index 0000000..43bdca3 --- /dev/null +++ b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp @@ -0,0 +1,407 @@ +#ifndef ELECTRICFUELCELLL1_HPP_INCLUDED +#define ELECTRICFUELCELLL1_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ElectricFuelCellL1.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 30 Sep 2020 09:48:40 +//! @brief Level 1 (conceptual with some dynamics) Fuel cell model +//! @ingroup ElectricComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, G:, Git, development-libraries, FuelCellLib}/ElectricFuelcellL1.nb*/ + +using namespace hopsan; + +class ElectricFuelCellL1 : public ComponentQ +{ +private: + double R; + double F; + double nel; + double T; + double Tref; + double CA; + double A; + double l; + double dG; + double dS; + double P0; + double Ph2; + double Po2; + double Ch2; + double B; + double Rc; + double ksi1; + double ksi3; + double ksi4; + double psi; + double Jmax; + double Jn; + double Imax; + double timeComp; + double e; + Port *mpPel1; + double delayParts1[9]; + double delayParts2[9]; + double delayParts3[9]; + double delayParts4[9]; + Matrix jacobianMatrix; + Vec systemEquations; + Matrix delayedPart; + int i; + int iter; + int mNoiter; + double jsyseqnweight[4]; + int order[4]; + int mNstep; + //Port Pel1 variable + double uel1; + double iel1; + double cel1; + double Zcel1; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double iFC0; + double uA; + double Pel; + double Pin; + //LocalExpressions variables + double ksi2; + double rhoM; + double Co2; + double unernst; + double uA0; + double conA0; + double conA; + double conOhm; + //Expressions variables + //Port Pel1 pointer + double *mpP_uel1; + double *mpP_iel1; + double *mpP_cel1; + double *mpP_Zcel1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + double *mpR; + double *mpF; + double *mpnel; + double *mpT; + double *mpTref; + double *mpCA; + double *mpA; + double *mpl; + double *mpdG; + double *mpdS; + double *mpP0; + double *mpPh2; + double *mpPo2; + double *mpCh2; + double *mpB; + double *mpRc; + double *mpksi1; + double *mpksi3; + double *mpksi4; + double *mppsi; + double *mpJmax; + double *mpJn; + double *mpImax; + double *mptimeComp; + double *mpe; + //outputVariables pointers + double *mpiFC0; + double *mpuA; + double *mpPel; + double *mpPin; + Delay mDelayedPart10; + Delay mDelayedPart20; + Delay mDelayedPart21; + Delay mDelayedPart30; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ElectricFuelCellL1(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + jacobianMatrix.create(4,4); + systemEquations.create(4); + delayedPart.create(5,6); + mNoiter=2; + jsyseqnweight[0]=1; + jsyseqnweight[1]=0.67; + jsyseqnweight[2]=0.5; + jsyseqnweight[3]=0.5; + + + //Add ports to the component + mpPel1=addPowerPort("Pel1","NodeElectric"); + //Add inputVariables to the component + + //Add inputParammeters to the component + addInputVariable("R", "Gas constant", "J/(K mol)", 8.314,&mpR); + addInputVariable("F", "Faradays constant", "", 96485.33212,&mpF); + addInputVariable("nel", "", "", 1,&mpnel); + addInputVariable("T", "", "K", 323,&mpT); + addInputVariable("Tref", "", "K", 298.15,&mpTref); + addInputVariable("CA", "Fuel cell capacitance", "A s/V", \ +50.,&mpCA); + addInputVariable("A", "", "m2", 0.00506,&mpA); + addInputVariable("l", "", "m", 0.000178,&mpl); + addInputVariable("dG", "", "", 228000.6,&mpdG); + addInputVariable("dS", "Entropy rate", "J/(Ks)", 0.00085,&mpdS); + addInputVariable("P0", "", "atm", 1,&mpP0); + addInputVariable("Ph2", "", "atm", 1.476,&mpPh2); + addInputVariable("Po2", "", "atm", 1.,&mpPo2); + addInputVariable("Ch2", "", "atm", 1.,&mpCh2); + addInputVariable("B", "", "V", 0.016,&mpB); + addInputVariable("Rc", "", "", 0.0003,&mpRc); + addInputVariable("ksi1", "", "", -0.948,&mpksi1); + addInputVariable("ksi3", "", "", 0.000076,&mpksi3); + addInputVariable("ksi4", "", "", -0.000193,&mpksi4); + addInputVariable("psi", "", "", 23,&mppsi); + addInputVariable("Jmax", "", "A/m2", 15000,&mpJmax); + addInputVariable("Jn", "", "A/m2", 11.999999999999998,&mpJn); + addInputVariable("Imax", "", "A", 42,&mpImax); + addInputVariable("timeComp", "time compression factor.", "", \ +1.,&mptimeComp); + addInputVariable("e", "e", "", 2.71828,&mpe); + //Add outputVariables to the component + addOutputVariable("iFC0","Intermediate current","A",0.,&mpiFC0); + addOutputVariable("uA","Intermediate voltage","V",0.,&mpuA); + addOutputVariable("Pel","Output power","W",0.,&mpPel); + addOutputVariable("Pin","Input power","W",0.,&mpPin); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + mpSolver = new EquationSystemSolver(this,4); + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Pel1 + mpP_uel1=getSafeNodeDataPtr(mpPel1, NodeElectric::Voltage); + mpP_iel1=getSafeNodeDataPtr(mpPel1, NodeElectric::Current); + mpP_cel1=getSafeNodeDataPtr(mpPel1, NodeElectric::WaveVariable); + mpP_Zcel1=getSafeNodeDataPtr(mpPel1, NodeElectric::CharImpedance); + + //Read variables from nodes + //Port Pel1 + uel1 = (*mpP_uel1); + iel1 = (*mpP_iel1); + cel1 = (*mpP_cel1); + Zcel1 = (*mpP_Zcel1); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + R = (*mpR); + F = (*mpF); + nel = (*mpnel); + T = (*mpT); + Tref = (*mpTref); + CA = (*mpCA); + A = (*mpA); + l = (*mpl); + dG = (*mpdG); + dS = (*mpdS); + P0 = (*mpP0); + Ph2 = (*mpPh2); + Po2 = (*mpPo2); + Ch2 = (*mpCh2); + B = (*mpB); + Rc = (*mpRc); + ksi1 = (*mpksi1); + ksi3 = (*mpksi3); + ksi4 = (*mpksi4); + psi = (*mppsi); + Jmax = (*mpJmax); + Jn = (*mpJn); + Imax = (*mpImax); + timeComp = (*mptimeComp); + e = (*mpe); + + //Read outputVariables from nodes + iFC0 = (*mpiFC0); + uA = (*mpuA); + Pel = (*mpPel); + Pin = (*mpPin); + +//==This code has been autogenerated using Compgen== + + //LocalExpressions + ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); + rhoM = (1.816*(1 + (3.e-6*iFC0)/A + \ +6.753150562581012e-17*Power(iFC0/A,2.5)*Power(T,2)))/(-0.634 - \ +(3*Power(e,(4.18*(-303 + T))/T)*iFC0)/(10000.*A) + psi); + Co2 = 1.968503937007874e-7*Power(e,498/T)*Po2; + unernst = dG/(2.*F) + (dS*(T - Tref))/(2.*F) + \ +(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*F); + unernst = dG/(2.*F); + uA0 = -ksi1 - ksi2*T - ksi4*T*log(iFC0) - B*log(1 - iel1/(A*Jmax)) - \ +ksi3*T*log(1.968e-7*Power(e,498/T)*Po2); + conA0 = iFC0/(1.e-6 + uA0*onPositive(uA0)); + conA = conA0*onPositive(conA0); + conOhm = (l*rhoM)/A; + + //Initialize delays + delayParts2[1] = (iel1*mTimestep - iFC0*mTimestep - 2*CA*uA)/(2.*CA); + mDelayedPart21.initialize(mNstep,delayParts2[1]); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + Vec stateVar(4); + Vec stateVark(4); + Vec deltaStateVar(4); + + //Read variables from nodes + //Port Pel1 + cel1 = (*mpP_cel1); + Zcel1 = (*mpP_Zcel1); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + R = (*mpR); + F = (*mpF); + nel = (*mpnel); + T = (*mpT); + Tref = (*mpTref); + CA = (*mpCA); + A = (*mpA); + l = (*mpl); + dG = (*mpdG); + dS = (*mpdS); + P0 = (*mpP0); + Ph2 = (*mpPh2); + Po2 = (*mpPo2); + Ch2 = (*mpCh2); + B = (*mpB); + Rc = (*mpRc); + ksi1 = (*mpksi1); + ksi3 = (*mpksi3); + ksi4 = (*mpksi4); + psi = (*mppsi); + Jmax = (*mpJmax); + Jn = (*mpJn); + Imax = (*mpImax); + timeComp = (*mptimeComp); + e = (*mpe); + + //LocalExpressions + ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); + rhoM = (1.816*(1 + (3.e-6*iFC0)/A + \ +6.753150562581012e-17*Power(iFC0/A,2.5)*Power(T,2)))/(-0.634 - \ +(3*Power(e,(4.18*(-303 + T))/T)*iFC0)/(10000.*A) + psi); + Co2 = 1.968503937007874e-7*Power(e,498/T)*Po2; + unernst = dG/(2.*F) + (dS*(T - Tref))/(2.*F) + \ +(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*F); + unernst = dG/(2.*F); + uA0 = -ksi1 - ksi2*T - ksi4*T*log(iFC0) - B*log(1 - iel1/(A*Jmax)) - \ +ksi3*T*log(1.968e-7*Power(e,498/T)*Po2); + conA0 = iFC0/(1.e-6 + uA0*onPositive(uA0)); + conA = conA0*onPositive(conA0); + conOhm = (l*rhoM)/A; + + //Initializing variable vector for Newton-Raphson + stateVark[0] = iFC0; + stateVark[1] = uA; + stateVark[2] = iel1; + stateVark[3] = uel1; + + //Iterative solution using Newton-Rapshson + for(iter=1;iter<=mNoiter;iter++) + { + //FuelCellL1 + //Differential-algebraic system of equation parts + + //Assemble differential-algebraic equations + systemEquations[0] =iFC0 + conOhm*(uA - unernst); + systemEquations[1] =((iel1 - iFC0)*mTimestep)/(2.*CA) + uA + \ +delayedPart[2][1]; + systemEquations[2] =iel1 + conA*(-uA + uel1); + systemEquations[3] =-cel1 + uel1 - iel1*Zcel1; + + //Jacobian matrix + jacobianMatrix[0][0] = 1; + jacobianMatrix[0][1] = conOhm; + jacobianMatrix[0][2] = 0; + jacobianMatrix[0][3] = 0; + jacobianMatrix[1][0] = -mTimestep/(2.*CA); + jacobianMatrix[1][1] = 1; + jacobianMatrix[1][2] = mTimestep/(2.*CA); + jacobianMatrix[1][3] = 0; + jacobianMatrix[2][0] = 0; + jacobianMatrix[2][1] = -conA; + jacobianMatrix[2][2] = 1; + jacobianMatrix[2][3] = conA; + jacobianMatrix[3][0] = 0; + jacobianMatrix[3][1] = 0; + jacobianMatrix[3][2] = -Zcel1; + jacobianMatrix[3][3] = 1; +//==This code has been autogenerated using Compgen== + + //Solving equation using LU-faktorisation + mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); + iFC0=stateVark[0]; + uA=stateVark[1]; + iel1=stateVark[2]; + uel1=stateVark[3]; + //Expressions + Pel = iel1*uel1; + Pin = iFC0*unernst; + } + + //Calculate the delayed parts + delayParts2[1] = (iel1*mTimestep - iFC0*mTimestep - 2*CA*uA)/(2.*CA); + + delayedPart[1][1] = delayParts1[1]; + delayedPart[2][1] = delayParts2[1]; + delayedPart[3][1] = delayParts3[1]; + delayedPart[4][1] = delayParts4[1]; + + //Write new values to nodes + //Port Pel1 + (*mpP_uel1)=uel1; + (*mpP_iel1)=iel1; + //outputVariables + (*mpiFC0)=iFC0; + (*mpuA)=uA; + (*mpPel)=Pel; + (*mpPin)=Pin; + + //Update the delayed variabels + mDelayedPart21.update(delayParts2[1]); + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ELECTRICFUELCELLL1_HPP_INCLUDED diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml new file mode 100644 index 0000000..695f2e2 --- /dev/null +++ b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelcell.svg b/FuelCellLib/FuelCellComponents/ElectricFuelcell.svg new file mode 100644 index 0000000..d1a4256 --- /dev/null +++ b/FuelCellLib/FuelCellComponents/ElectricFuelcell.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb b/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb new file mode 100644 index 0000000..9f5080a --- /dev/null +++ b/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb @@ -0,0 +1,962 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 45240, 954] +NotebookOptionsPosition[ 43313, 893] +NotebookOutlinePosition[ 43791, 911] +CellTagsIndexPosition[ 43748, 908] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Fuel Cell (Fidelity level 1)", "Title", + CellChangeTimes->{{3.520873834546875*^9, 3.520873840984375*^9}, { + 3.520880951484375*^9, 3.520880952703125*^9}, 3.5353435216307597`*^9, { + 3.8100265894396305`*^9, 3.810026591848856*^9}, {3.810026623024362*^9, + 3.8100266506470413`*^9}}, + ExpressionUUID -> "57b21790-662b-4ee4-8918-fd00c687c174"], + +Cell["\<\ +Fuel cell model of fidelity level 1, for conceptual design with some dynamics.\ +\>", "Text", + CellChangeTimes->{{3.810026654466279*^9, 3.8100267211514826`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", + ",", "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, + 3.7760688836492944`*^9}, {3.7846317812093024`*^9, 3.784631800055241*^9}, { + 3.790939336655615*^9, 3.790939344120914*^9}, {3.7994934461032467`*^9, + 3.7994934538013234`*^9}, {3.79974100026252*^9, 3.799741026886066*^9}, { + 3.80934577795299*^9, 3.8093457983178377`*^9}, {3.809965090856604*^9, + 3.8099651069126987`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"] +}, Open ]], + +Cell[BoxData["\<\"G:\\\\Git\\\\development-libraries\\\\FuelCellLib\\\\\"\>"],\ + "Output", + CellChangeTimes->{{3.800014722612909*^9, 3.8000147394275837`*^9}, + 3.800014776746131*^9, 3.800014883760863*^9, 3.800014999911181*^9, + 3.8000731036301117`*^9, 3.8000732824221363`*^9, {3.800073399237327*^9, + 3.800073423207103*^9}, 3.80007348639789*^9, {3.8000820325654097`*^9, + 3.800082072404359*^9}, 3.800083188037806*^9, 3.8000902740754757`*^9, + 3.8000903089595304`*^9, 3.8000906849471116`*^9, 3.8000962721730146`*^9, + 3.8000983179117002`*^9, {3.8000983741917095`*^9, 3.800098390783614*^9}, + 3.8000985540483847`*^9, 3.800100841780097*^9, 3.8001018542828107`*^9, + 3.8001020070464034`*^9, 3.800103751343073*^9, 3.800115562636672*^9, + 3.807966938520918*^9, 3.80934544363169*^9, 3.809345803292515*^9, + 3.809345859186922*^9, 3.8093460077130194`*^9, 3.809346043305401*^9, + 3.809346112713642*^9, 3.809346349671179*^9, 3.809346719453081*^9, + 3.809346766768236*^9, 3.80934700756503*^9, 3.8093471228940525`*^9, + 3.809347163411317*^9, 3.8093473175637245`*^9, 3.8093473926926775`*^9, + 3.809347914342938*^9, {3.809347986004998*^9, 3.809347994228918*^9}, + 3.8093480907848635`*^9, 3.8093482896681175`*^9, 3.809348664676984*^9, + 3.809349009063117*^9, 3.8093491596659837`*^9, {3.810021439173669*^9, + 3.8100214557878013`*^9}, 3.810021502003939*^9, 3.8100215346730013`*^9, + 3.8100227930638638`*^9, 3.8100267624699945`*^9, 3.810027881162412*^9, { + 3.81038086079557*^9, 3.810380882797211*^9}, 3.8103812032017527`*^9, + 3.8104396902597575`*^9, 3.810439824051691*^9, 3.810439931803726*^9, + 3.810439993571807*^9, {3.8104408937906113`*^9, 3.81044092031534*^9}}, + ExpressionUUID -> "f5195b7a-97d9-47d9-a759-fc32b01ffc18"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Unprotect", "[", "D", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"D", "[", + RowBox[{ + RowBox[{"log", "[", + RowBox[{"f_", "[", "x_", "]"}], "]"}], ",", "x_"}], "]"}], ":=", + FractionBox[ + RowBox[{ + SuperscriptBox["f", "\[Prime]", + MultilineFunction->None], "[", "x", "]"}], + RowBox[{"f", "[", "x", "]"}]]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"D", "[", + RowBox[{ + RowBox[{"log", "[", "x_", "]"}], ",", "x_"}], "]"}], ":=", + FractionBox["1", "x"]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Protect", "[", "D", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.809347647946149*^9, 3.8093476720727806`*^9}, { + 3.809347738914095*^9, 3.8093477653488455`*^9}, {3.809347870771587*^9, + 3.809347882263136*^9}, {3.8093479646864033`*^9, 3.809347990809903*^9}}], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth:>WindowWidth, + ExpressionUUID -> "652a0152-5a14-4b79-b70d-d9fa36510144"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", + "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", + CellChangeTimes->{{3.520880152296875*^9, 3.520880230078125*^9}, + 3.520932125875*^9, 3.520932753984375*^9, {3.52093324790625*^9, + 3.520933251453125*^9}, {3.521775289609375*^9, 3.521775289921875*^9}, { + 3.52249560790625*^9, 3.522495611953125*^9}, {3.5353435506144285`*^9, + 3.5353435625103617`*^9}, {3.538982066538947*^9, 3.5389820811170716`*^9}, { + 3.538982378538947*^9, 3.538982399913947*^9}, {3.540095811916009*^9, + 3.5400958134316144`*^9}, {3.5400958446187153`*^9, + 3.5400958611341286`*^9}, {3.7994929462982273`*^9, 3.79949294812035*^9}, + 3.799493326163699*^9, {3.7997722672221565`*^9, 3.799772286280518*^9}, { + 3.7997723174983525`*^9, 3.799772319009794*^9}, {3.8000104740765705`*^9, + 3.8000105130094523`*^9}, 3.8000732267354856`*^9, {3.810022768618063*^9, + 3.8100227777219925`*^9}}, + ExpressionUUID -> "aa43e10d-c05d-43e3-a087-d1ec17470b5d"], + +Cell["\<\ +inputVariables = { + {thetaFcRef, 1., double, \"\", \"Power fraction reference [0,1]\"} + };\ +\>", "Text", + CellChangeTimes->{{3.446223460296875*^9, 3.44622356096875*^9}, { + 3.4462236030625*^9, 3.446223670484375*^9}, {3.446223703640625*^9, + 3.4462238429375*^9}, {3.4462265591875*^9, 3.44622670078125*^9}, { + 3.4463566622546744`*^9, 3.4463566920669837`*^9}, 3.4463567240041475`*^9, { + 3.446357070530962*^9, 3.446357073718421*^9}, 3.446379656956832*^9, { + 3.4464008796202064`*^9, 3.44640090863546*^9}, {3.446452519793661*^9, + 3.446452619136775*^9}, {3.446460814522464*^9, 3.446460921949324*^9}, { + 3.446460972761937*^9, 3.4464609779947715`*^9}, {3.446461042663227*^9, + 3.4464610541442213`*^9}, {3.446522488390625*^9, 3.446522516109375*^9}, { + 3.446522610078125*^9, 3.446522622265625*^9}, {3.44652284971875*^9, + 3.446522850484375*^9}, 3.446524524569768*^9, {3.44657946146875*^9, + 3.44657946196875*^9}, {3.446637579390625*^9, 3.446637622890625*^9}, { + 3.44663767678125*^9, 3.446637762140625*^9}, {3.446741156203125*^9, + 3.446741194671875*^9}, 3.446744375703125*^9, {3.4468319421875*^9, + 3.446831994875*^9}, {3.447609315015625*^9, 3.447609356953125*^9}, + 3.44760944415625*^9, {3.447938433375*^9, 3.44793848459375*^9}, { + 3.447938571546875*^9, 3.4479385744375*^9}, {3.447951560046875*^9, + 3.44795160009375*^9}, {3.457505934953125*^9, 3.457505949234375*^9}, { + 3.540095890602502*^9, 3.540095891883735*^9}, {3.800013706988228*^9, + 3.8000137263942327`*^9}, {3.800082537647973*^9, 3.800082542135347*^9}, { + 3.800090224922123*^9, 3.8000902659348636`*^9}, 3.8100199599914637`*^9}, + ExpressionUUID -> "5248b079-d643-4e8a-986c-34efe7ba874e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "R", ",", "8.314", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "F", ",", "96485.33212", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "nel", ",", "1", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "T", ",", "323", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Tref", ",", "298.15", ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "CA", ",", "50.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"A", ",", + RowBox[{"50.6", " ", + SuperscriptBox["10", + RowBox[{"-", "4"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"l", ",", + RowBox[{"178", " ", + SuperscriptBox["10", + RowBox[{"-", "6"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "dG", ",", "228000.6", ",", "double", ",", "\"\<\>\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"dS", ",", + RowBox[{"0.85", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "P0", ",", "1", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ph2", ",", "1.476", ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Po2", ",", "1.", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Ch2", ",", "1.", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "B", ",", "0.016", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Rc", ",", "0.0003", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"ksi1", ",", + RowBox[{"-", ".948"}], ",", "double", ",", "\"\<\>\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"ksi3", ",", + RowBox[{"7.6", " ", + SuperscriptBox["10", + RowBox[{"-", "5"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"ksi4", ",", + RowBox[{ + RowBox[{"-", "1.93"}], " ", + SuperscriptBox["10", + RowBox[{"-", "4"}]]}], ",", "double", ",", "\"\<\>\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "psi", ",", "23", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Jmax", ",", + RowBox[{"1500", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Jn", ",", + RowBox[{"1.2", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "Imax", ",", "42", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], + "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "timeComp", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\

    T-k`WvEIUFQu#1&7= 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

    ~@ERT-9yq@1Dt9m6I1#12 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 -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticCompressor.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Sat 22 Aug 2020 01:11:20 -//! @brief This is a pump/motor with an inertia load -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticCompressor.nb*/ - -using namespace hopsan; - -class PneumaticCompressor : public ComponentQ -{ -private: - double Dm; - double Cim; - double Bm; - double Jm; - double R; - double cv; - Port *mpPp1; - Port *mpPp2; - Port *mpPmr1; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[8]; - int mNstep; - //Port Pp1 variable - double pp1; - double qmp1; - double Tp1; - double dEp1; - double cp1; - double Zcp1; - //Port Pp2 variable - double pp2; - double qmp2; - double Tp2; - double dEp2; - double cp2; - double Zcp2; - //Port Pmr1 variable - double tormr1; - double thetamr1; - double wmr1; - double cmr1; - double Zcmr1; - double eqInertiamr1; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //LocalExpressions variables - double cp; - //Expressions variables - //Port Pp1 pointer - double *mpP_pp1; - double *mpP_qmp1; - double *mpP_Tp1; - double *mpP_dEp1; - double *mpP_cp1; - double *mpP_Zcp1; - //Port Pp2 pointer - double *mpP_pp2; - double *mpP_qmp2; - double *mpP_Tp2; - double *mpP_dEp2; - double *mpP_cp2; - double *mpP_Zcp2; - //Port Pmr1 pointer - double *mpP_tormr1; - double *mpP_thetamr1; - double *mpP_wmr1; - double *mpP_cmr1; - double *mpP_Zcmr1; - double *mpP_eqInertiamr1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpDm; - double *mpCim; - double *mpBm; - double *mpJm; - double *mpR; - double *mpcv; - //outputVariables pointers - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart12; - Delay mDelayedPart20; - Delay mDelayedPart21; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticCompressor(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(8,8); - systemEquations.create(8); - delayedPart.create(9,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpPp1=addPowerPort("Pp1","NodePneumatic"); - mpPp2=addPowerPort("Pp2","NodePneumatic"); - mpPmr1=addPowerPort("Pmr1","NodeMechanicRotational"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("Dm", "Displacement", "m3", \ -0.000049999999999999996,&mpDm); - addInputVariable("Cim", "Leak coeff.", "m3/(s Pa)", 0.,&mpCim); - addInputVariable("Bm", "Visc. friction coeff.", "N/m/s", \ -0.,&mpBm); - addInputVariable("Jm", "Moment of inertia", "kg/m2", 0.1,&mpJm); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,8); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Pp1 - mpP_pp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Pressure); - mpP_qmp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::MassFlow); - mpP_Tp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Temperature); - mpP_dEp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::EnergyFlow); - mpP_cp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::WaveVariable); - mpP_Zcp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::CharImpedance); - //Port Pp2 - mpP_pp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::Pressure); - mpP_qmp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::MassFlow); - mpP_Tp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::Temperature); - mpP_dEp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::EnergyFlow); - mpP_cp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::WaveVariable); - mpP_Zcp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::CharImpedance); - //Port Pmr1 - mpP_tormr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::Torque); - mpP_thetamr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::Angle); - mpP_wmr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::AngularVelocity); - mpP_cmr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::WaveVariable); - mpP_Zcmr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::CharImpedance); - mpP_eqInertiamr1=getSafeNodeDataPtr(mpPmr1, \ -NodeMechanicRotational::EquivalentInertia); - - //Read variables from nodes - //Port Pp1 - pp1 = (*mpP_pp1); - qmp1 = (*mpP_qmp1); - Tp1 = (*mpP_Tp1); - dEp1 = (*mpP_dEp1); - cp1 = (*mpP_cp1); - Zcp1 = (*mpP_Zcp1); - //Port Pp2 - pp2 = (*mpP_pp2); - qmp2 = (*mpP_qmp2); - Tp2 = (*mpP_Tp2); - dEp2 = (*mpP_dEp2); - cp2 = (*mpP_cp2); - Zcp2 = (*mpP_Zcp2); - //Port Pmr1 - tormr1 = (*mpP_tormr1); - thetamr1 = (*mpP_thetamr1); - wmr1 = (*mpP_wmr1); - cmr1 = (*mpP_cmr1); - Zcmr1 = (*mpP_Zcmr1); - eqInertiamr1 = (*mpP_eqInertiamr1); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Dm = (*mpDm); - Cim = (*mpCim); - Bm = (*mpBm); - Jm = (*mpJm); - R = (*mpR); - cv = (*mpcv); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - //LocalExpressions - cp = cv + R; - - //Initialize delays - delayParts1[1] = (1.*(2.*Dm*Power(mTimestep,2)*pp1 - \ -2.*Dm*Power(mTimestep,2)*pp2 + 50.265*Jm*thetamr1 - \ -12.566*Power(mTimestep,2)*tormr1))/(-25.133*Jm - 12.566*Bm*mTimestep); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - delayParts1[2] = (1.*(1.*Dm*Power(mTimestep,2)*pp1 - \ -1.*Dm*Power(mTimestep,2)*pp2 - 25.133*Jm*thetamr1 + \ -12.566*Bm*mTimestep*thetamr1 - 6.2832*Power(mTimestep,2)*tormr1))/(-25.133*Jm \ -- 12.566*Bm*mTimestep); - mDelayedPart12.initialize(mNstep,delayParts1[2]); - delayParts2[1] = (1.*(1.*Dm*mTimestep*pp1 - 1.*Dm*mTimestep*pp2 - \ -6.2832*mTimestep*tormr1 + 12.5664*Jm*wmr1 - \ -6.2832*Bm*mTimestep*wmr1))/(-12.5664*Jm - 6.2832*Bm*mTimestep); - mDelayedPart21.initialize(mNstep,delayParts2[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[1][2] = mDelayedPart12.getIdx(1); - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(8); - Vec stateVark(8); - Vec deltaStateVar(8); - - //Read variables from nodes - //Port Pp1 - Tp1 = (*mpP_Tp1); - cp1 = (*mpP_cp1); - Zcp1 = (*mpP_Zcp1); - //Port Pp2 - Tp2 = (*mpP_Tp2); - cp2 = (*mpP_cp2); - Zcp2 = (*mpP_Zcp2); - //Port Pmr1 - cmr1 = (*mpP_cmr1); - Zcmr1 = (*mpP_Zcmr1); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Dm = (*mpDm); - Cim = (*mpCim); - Bm = (*mpBm); - Jm = (*mpJm); - R = (*mpR); - cv = (*mpcv); - - //LocalExpressions - cp = cv + R; - - //Initializing variable vector for Newton-Raphson - stateVark[0] = thetamr1; - stateVark[1] = wmr1; - stateVark[2] = qmp2; - stateVark[3] = dEp1; - stateVark[4] = dEp2; - stateVark[5] = pp1; - stateVark[6] = pp2; - stateVark[7] = tormr1; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //Compressor - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =thetamr1 + \ -(Power(mTimestep,2)*(-0.039789*Dm*pp1 + 0.039789*Dm*pp2 + \ -0.25*tormr1))/(1.*Jm + 0.5*Bm*mTimestep) + delayedPart[1][1] + \ -delayedPart[1][2]; - systemEquations[1] =(mTimestep*(-0.079577*Dm*pp1 + 0.079577*Dm*pp2 \ -+ 0.5*tormr1))/(1.*Jm + 0.5*Bm*mTimestep) + wmr1 + delayedPart[2][1]; - systemEquations[2] =qmp2 + (pp2*(Cim*(-1.*pp1 + 1.*pp2 - 1.*pp1*Tp1 \ -+ 1.*pp2*Tp1) + Dm*(-0.15915494309189535 - \ -0.15915494309189535*Tp1)*wmr1)*onNegative(qmp2) + pp1*Tp2*(-1.*Cim*pp1 + \ -1.*Cim*pp2 - 0.15915494309189535*Dm*wmr1)*onPositive(qmp2))/(R*(1. + \ -Tp1)*Tp2); - systemEquations[3] =dEp1 + cp*qmp2*Tp1*onNegative(-qmp2) - \ -(Cim*Power(pp1 - pp2,2) - cp*qmp2*Tp2 + tormr1*wmr1)*onPositive(-qmp2); - systemEquations[4] =dEp2 - cp*qmp2*Tp2*onNegative(qmp2) - \ -(Cim*Power(pp1 - pp2,2) + cp*qmp2*Tp1 - tormr1*wmr1)*onPositive(qmp2); - systemEquations[5] =pp1 - lowLimit(cp1 + dEp1*Zcp1,0); - systemEquations[6] =pp2 - lowLimit(cp2 + dEp2*Zcp2,0); - systemEquations[7] =-cmr1 + tormr1 - wmr1*Zcmr1; - - //Jacobian matrix - jacobianMatrix[0][0] = 1; - jacobianMatrix[0][1] = 0; - jacobianMatrix[0][2] = 0; - jacobianMatrix[0][3] = 0; - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = (-0.039789*Dm*Power(mTimestep,2))/(1.*Jm + \ -0.5*Bm*mTimestep); - jacobianMatrix[0][6] = (0.039789*Dm*Power(mTimestep,2))/(1.*Jm + \ -0.5*Bm*mTimestep); - jacobianMatrix[0][7] = (0.25*Power(mTimestep,2))/(1.*Jm + \ -0.5*Bm*mTimestep); - jacobianMatrix[1][0] = 0; - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = (-0.079577*Dm*mTimestep)/(1.*Jm + \ -0.5*Bm*mTimestep); - jacobianMatrix[1][6] = (0.079577*Dm*mTimestep)/(1.*Jm + \ -0.5*Bm*mTimestep); - jacobianMatrix[1][7] = (0.5*mTimestep)/(1.*Jm + 0.5*Bm*mTimestep); - jacobianMatrix[2][0] = 0; - jacobianMatrix[2][1] = (Dm*pp2*(-0.15915494309189535 - \ -0.15915494309189535*Tp1)*onNegative(qmp2) - \ -0.15915494309189535*Dm*pp1*Tp2*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = (Cim*pp2*(-1. - 1.*Tp1)*onNegative(qmp2) - \ -1.*Cim*pp1*Tp2*onPositive(qmp2) + Tp2*(-1.*Cim*pp1 + 1.*Cim*pp2 - \ -0.15915494309189535*Dm*wmr1)*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); - jacobianMatrix[2][6] = (Cim*pp2*(1. + 1.*Tp1)*onNegative(qmp2) + \ -(Cim*(-1.*pp1 + 1.*pp2 - 1.*pp1*Tp1 + 1.*pp2*Tp1) + Dm*(-0.15915494309189535 \ -- 0.15915494309189535*Tp1)*wmr1)*onNegative(qmp2) + \ -1.*Cim*pp1*Tp2*onPositive(qmp2))/(R*(1. + Tp1)*Tp2); - jacobianMatrix[2][7] = 0; - jacobianMatrix[3][0] = 0; - jacobianMatrix[3][1] = -(tormr1*onPositive(-qmp2)); - jacobianMatrix[3][2] = cp*Tp1*onNegative(-qmp2) + \ -cp*Tp2*onPositive(-qmp2); - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = -2*Cim*(pp1 - pp2)*onPositive(-qmp2); - jacobianMatrix[3][6] = 2*Cim*(pp1 - pp2)*onPositive(-qmp2); - jacobianMatrix[3][7] = -(wmr1*onPositive(-qmp2)); - jacobianMatrix[4][0] = 0; - jacobianMatrix[4][1] = tormr1*onPositive(qmp2); - jacobianMatrix[4][2] = -(cp*Tp2*onNegative(qmp2)) - \ -cp*Tp1*onPositive(qmp2); - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = -2*Cim*(pp1 - pp2)*onPositive(qmp2); - jacobianMatrix[4][6] = 2*Cim*(pp1 - pp2)*onPositive(qmp2); - jacobianMatrix[4][7] = wmr1*onPositive(qmp2); - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = 0; - jacobianMatrix[5][2] = 0; - jacobianMatrix[5][3] = -(Zcp1*dxLowLimit(cp1 + dEp1*Zcp1,0)); - jacobianMatrix[5][4] = 0; - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[5][7] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = 0; - jacobianMatrix[6][2] = 0; - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = -(Zcp2*dxLowLimit(cp2 + dEp2*Zcp2,0)); - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; - jacobianMatrix[6][7] = 0; - jacobianMatrix[7][0] = 0; - jacobianMatrix[7][1] = -Zcmr1; - jacobianMatrix[7][2] = 0; - jacobianMatrix[7][3] = 0; - jacobianMatrix[7][4] = 0; - jacobianMatrix[7][5] = 0; - jacobianMatrix[7][6] = 0; - jacobianMatrix[7][7] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - thetamr1=stateVark[0]; - wmr1=stateVark[1]; - qmp2=stateVark[2]; - dEp1=stateVark[3]; - dEp2=stateVark[4]; - pp1=stateVark[5]; - pp2=stateVark[6]; - tormr1=stateVark[7]; - //Expressions - qmp1 = -qmp2; - } - - //Calculate the delayed parts - delayParts1[1] = (1.*(2.*Dm*Power(mTimestep,2)*pp1 - \ -2.*Dm*Power(mTimestep,2)*pp2 + 50.265*Jm*thetamr1 - \ -12.566*Power(mTimestep,2)*tormr1))/(-25.133*Jm - 12.566*Bm*mTimestep); - delayParts1[2] = (1.*(1.*Dm*Power(mTimestep,2)*pp1 - \ -1.*Dm*Power(mTimestep,2)*pp2 - 25.133*Jm*thetamr1 + \ -12.566*Bm*mTimestep*thetamr1 - 6.2832*Power(mTimestep,2)*tormr1))/(-25.133*Jm \ -- 12.566*Bm*mTimestep); - delayParts2[1] = (1.*(1.*Dm*mTimestep*pp1 - 1.*Dm*mTimestep*pp2 - \ -6.2832*mTimestep*tormr1 + 12.5664*Jm*wmr1 - \ -6.2832*Bm*mTimestep*wmr1))/(-12.5664*Jm - 6.2832*Bm*mTimestep); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[1][2] = mDelayedPart12.getIdx(0); - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - - //Write new values to nodes - //Port Pp1 - (*mpP_pp1)=pp1; - (*mpP_qmp1)=qmp1; - (*mpP_dEp1)=dEp1; - //Port Pp2 - (*mpP_pp2)=pp2; - (*mpP_qmp2)=qmp2; - (*mpP_dEp2)=dEp2; - //Port Pmr1 - (*mpP_tormr1)=tormr1; - (*mpP_thetamr1)=thetamr1; - (*mpP_wmr1)=wmr1; - (*mpP_eqInertiamr1)=eqInertiamr1; - //outputVariables - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - mDelayedPart12.update(delayParts1[2]); - mDelayedPart21.update(delayParts2[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICCOMPRESSOR_HPP_INCLUDED diff --git a/devPneumatic/PneumaticCompressor.nb b/devPneumatic/PneumaticCompressor.nb deleted file mode 100644 index ae90088..0000000 --- a/devPneumatic/PneumaticCompressor.nb +++ /dev/null @@ -1,1399 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 66407, 1391] -NotebookOptionsPosition[ 63506, 1304] -NotebookOutlinePosition[ 63993, 1321] -CellTagsIndexPosition[ 63950, 1318] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell[TextData[StyleBox["PneumaticCompressor", - FontFamily->"System"]], "Section", - Evaluatable->False, - CellChangeTimes->{{3.52488616965088*^9, 3.5248861799318666`*^9}, { - 3.577956172776149*^9, 3.5779561799815607`*^9}, {3.6266093169340982`*^9, - 3.626609318892098*^9}, {3.626685959947085*^9, 3.6266859663050847`*^9}, { - 3.806387168621916*^9, - 3.8063871706051455`*^9}},ExpressionUUID->"1308ef69-e568-41a3-a3fc-\ -498403abf26a"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellChangeTimes->{{3.5772037650720577`*^9, 3.5772037650780582`*^9}, { - 3.611474457184202*^9, 3.611474523938877*^9}, {3.6114745588913717`*^9, - 3.61147456057154*^9}}, - ExpressionUUID -> "ca1c93fd-ea16-4b6c-99c5-53e5675f0309"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, 3.6031909973287797`*^9, - 3.6057717887213297`*^9, {3.605771829393656*^9, 3.605771830929744*^9}, - 3.6058530990363216`*^9, {3.621138851005574*^9, 3.621138863716845*^9}, { - 3.626686112671085*^9, 3.6266861209310846`*^9}}, - ExpressionUUID -> "edd8abfd-9d71-49a0-a89e-fb54b9239bd9"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8068133361958127`*^9, 3.806813439656876*^9, 3.806813554507677*^9, - 3.8068136653713636`*^9, 3.806845746874383*^9, 3.8068458354449177`*^9, - 3.8068458711540422`*^9, 3.8068460487935977`*^9, 3.8068517378209653`*^9, - 3.806851775819724*^9, 3.806851842703655*^9, 3.806852025858515*^9, - 3.8069952071724854`*^9, 3.8069953172959023`*^9, 3.806995546840147*^9, - 3.8069959459335155`*^9, 3.807005210692892*^9, 3.8070055020643673`*^9, - 3.8070055580965767`*^9, 3.807005594414116*^9, 3.807006219829053*^9, { - 3.807006423672806*^9, 3.8070064507049246`*^9}, 3.8070065851082973`*^9, - 3.807006693853648*^9, 3.807040280130583*^9}], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { - 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, - 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, - 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { - 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, - 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, - 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { - 3.521782314984375*^9, 3.52178231528125*^9}, 3.5248861854161005`*^9, - 3.5757721184092045`*^9, {3.577957012447175*^9, 3.5779570270120087`*^9}, { - 3.6266042212263517`*^9, 3.626604223226552*^9}, {3.6266859740020847`*^9, - 3.626685987184085*^9}, {3.806387174260753*^9, 3.806387176064335*^9}}, - ExpressionUUID -> "d26a9b6e-fc0a-4d5a-bbc2-1d5e36176fc0"], - -Cell[TextData[{ - "Pneumatic machine that can be used as compressor and motor\n\n", - Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0000F<0@000?@0003JoOoof_gooeH2001h0P00 -00000000003N2@00CP/00215CDH00040S0D004<000030000@`0006`000000000EPD00003003R0@00 -3`40000000000000000006IJ1`1E8P@0B@1^06/0L`1S0640L01U0200<00^03@0>00^0380801b03T0 ->00a03T0800X0440M@1W0200<@0d02000000000000h0000 -0000000Q0@0Z0000000000000000000000000000000U000030000080000j000030000>h0000k0000 -200001/0000@00005@0000X5000f000040000444000:1@00=P0001000011100090H003H0000@0000 -5@0002@6000m0000200003`000080000?`0001P0003JoOooo_goodH2001D0P009@0000`000000020 -:00000`0000100009@0000`000070020:00000`0000200009`0001P00002000000000?ooo`000000 -9@0000`0000200004`0000`000020000G`0003P000010000>0000000000h0000000000000@0Z0000 -000000000000000000000000000U000030000040000Z0000600006<300220P00YPT00<<8000U0000 -30000000080X000030000080000U0000300000L0080X000030000040001O0000>0000040000h0000 -000003P000000000024102X0000000000000000000000000000002D0000<00000@0003X0000<0000 -kP0003/0000800006`000100002F1P00>@/003H0000@0000UPH00?@8000l000020000400000H0000 -2?kooa[noomF0P00N08002D0000<00001`00P2P0000<00000@0005l0000h00000@0003P000000000 ->000000000008@40:P0000000000000000000000000000009@0000`000010000>P0000`0003^0000 ->`0000P0000K0000400009H6001b0P00=P000100002F1P005@0003`000080000@00001P00008o_oo -f_gooeH2000i0P009@0000`000070020:00000`000010000G`0003P000010000>0000000000h0000 -0000000R0@0Z0000000000000000000000000000000U000030000040000j0000300001X1000k0000 -200001/0000@0000U`H00882000f000040000;T5000>1000=P000100001j1`003`@003d000080000 -?00000P0001000006000073noomIo_ook`400=H1000U0000300000L0080X000030000040000>0000 -50000000000@00005000 -\>"], "Graphics", - GeneratedCell->False, - CellAutoOverwrite->False, - ImageSize->{162., 185.87368421052622`}, - ImageMargins->{{0, 0}, {0, 78}},ExpressionUUID-> - "2eb34d0e-807f-432e-899f-36c3ca6b886f"] -}], "Text", - CellChangeTimes->{{3.6327783431272955`*^9, 3.6327783663736253`*^9}, { - 3.6327784427429934`*^9, - 3.632778451593499*^9}},ExpressionUUID->"eccd1be5-4b9c-4c48-9ca7-\ -e9d9264dbef0"], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"4ba019ec-4809-46a6-8a48-19551b26a519"], - -Cell["Piston with an inertia load", "Text",ExpressionUUID->"6812e3c5-27d1-4474-a9d3-f89122f15d69"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component equations", "Subsection",ExpressionUUID->"ce88ec4f-acb3-408d-bc9a-39e6fbaca182"], - -Cell["The name of the component is stored in ComponentName.", "Text",ExpressionUUID->"62960c8e-8d23-4fd5-a025-1f7f0de450e7"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Variables and parameters", "Subsection",ExpressionUUID->"2b34fd78-e769-4516-a1e5-294e6e867092"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{"Dm", ",", - RowBox[{"50.", " ", - SuperscriptBox["10", - RowBox[{"-", "6"}]]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Cim", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Bm", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Jm", ",", ".1", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { - 3.577956201851812*^9, 3.577956272255839*^9}, 3.5779573492194376`*^9, { - 3.5779654805065203`*^9, 3.5779655140924416`*^9}, {3.626604316855914*^9, - 3.626604346530881*^9}, {3.626609330254098*^9, 3.626609351988098*^9}, { - 3.6266093905780983`*^9, 3.626609391313098*^9}, 3.626686533536085*^9, { - 3.6273763898356056`*^9, 3.6273763905156193`*^9}}, - ExpressionUUID -> "4e27cd3a-adbb-45be-bcb7-0dae9dcf40c7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"p1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"p2", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"MechanicRotQnode", "[", - RowBox[{ - "mr1", ",", "0.", ",", "0.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.4458567530827656`*^9, 3.445856805848053*^9}, { - 3.516293489375*^9, 3.516293499125*^9}, {3.535541977*^9, - 3.535541991625*^9}, {3.535542208609375*^9, 3.5355422090625*^9}, { - 3.535542381671875*^9, 3.535542392828125*^9}, {3.5684503752639694`*^9, - 3.568450377478191*^9}, {3.5684509832627635`*^9, 3.5684509970240593`*^9}, { - 3.5684511449390593`*^9, 3.568451145238059*^9}, {3.5721614930495863`*^9, - 3.572161494468728*^9}, {3.6266868208150845`*^9, 3.626686835350085*^9}, { - 3.6268133298169723`*^9, 3.6268133323251157`*^9}, 3.6289544881207824`*^9}, - ExpressionUUID -> "6289ef93-7996-4367-9445-21659443de62"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection",ExpressionUUID->"d2219d6f-92ba-49a4-8724-fc2b11383179"], - -Cell["The generated piston force", "Text",ExpressionUUID->"8afdc253-8b7d-4537-9c09-54725bd2ea53"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"torg", " ", "=", - RowBox[{ - FractionBox[ - RowBox[{" ", "Dm"}], - RowBox[{"2", " ", "pi"}]], - RowBox[{"(", " ", - RowBox[{"pp1", " ", "-", " ", "pp2"}], ")"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { - 3.577956496099642*^9, 3.5779565177508802`*^9}, 3.6266866274850845`*^9, - 3.6266866663150845`*^9}, - ExpressionUUID -> "411a14cc-248e-4906-bc5c-3c11824f7d61"], - -Cell["The vector of independent variables of the system are", "Text", - CellChangeTimes->{{3.524850810625*^9, - 3.52485083609375*^9}},ExpressionUUID->"b82dd3de-bac0-4544-bb53-\ -4ae32e4570af"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"T0", "=", "1."}], ";"}]], "Input", - CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, { - 3.627320756281715*^9, 3.6273207646627264`*^9}, 3.6327784734767513`*^9}, - ExpressionUUID -> "6f0fec0d-93f3-46cc-9916-87304a916940"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"rho1", " ", ":=", " ", - FractionBox["pp1", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"Tp1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"rho2", " ", ":=", - FractionBox["pp2", - RowBox[{"R", " ", - RowBox[{"(", "Tp2", ")"}]}]]}], ";"}]}], "Input", - CellChangeTimes->{{3.6266088064128294`*^9, 3.62660883322651*^9}, { - 3.626609101625098*^9, 3.626609103327098*^9}, {3.626609139173098*^9, - 3.6266091407110977`*^9}, 3.6267892234901233`*^9, {3.6268121815802965`*^9, - 3.6268122176613607`*^9}, {3.626813003248294*^9, 3.626813007331527*^9}, - 3.626854397562913*^9}, - ExpressionUUID -> "0f2188d3-5311-4c71-8d70-925cccb52e36"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"q2", "=", - RowBox[{"rho2", " ", "qmp2"}]}], ";"}]], "Input", - CellChangeTimes->{{3.6268543218415823`*^9, 3.6268543278769274`*^9}, - 3.6268543892024345`*^9, 3.6268544626146336`*^9}, - ExpressionUUID -> "a2f2d7c1-7013-4da4-a335-13634de8e727"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qmp1e", "=", - RowBox[{"-", "qmp2"}]}], ";"}]], "Input", - CellChangeTimes->{{3.6273206168895187`*^9, 3.6273206234015274`*^9}}, - ExpressionUUID -> "2c798387-3e4b-4115-a255-0b26e005af1f"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"pi", "=", - RowBox[{"N", "[", - RowBox[{"Pi", ",", "7"}], "]"}]}]], "Input", - CellChangeTimes->{{3.626789192284003*^9, 3.626789205688343*^9}}, - ExpressionUUID -> "40568a14-45c7-49de-8190-d01cbbb97f50"], - -Cell[BoxData["3.1415926535897932385`7."], "Output", - CellChangeTimes->{{3.6267892082005944`*^9, 3.6267892266004343`*^9}, - 3.626789303937167*^9, 3.6268117782282267`*^9, 3.6268122286019864`*^9, - 3.6268124176187973`*^9, {3.6268127639866085`*^9, 3.626812772161076*^9}, - 3.6268133467289395`*^9, 3.6268534696498394`*^9, 3.626853520211731*^9, - 3.6268537614425287`*^9, 3.626854079529722*^9, 3.6268547440737324`*^9, - 3.6268555160978894`*^9, 3.62723499605375*^9, 3.6272359239468226`*^9, - 3.627236608823995*^9, 3.6277328709299912`*^9, 3.62773294889275*^9, - 3.627733093765172*^9, 3.628703912210665*^9, 3.628705436733282*^9, - 3.628942012246914*^9, 3.628942055403041*^9, 3.6289545652268915`*^9, - 3.6289630190863895`*^9, 3.6309144977011323`*^9, 3.6309313517441964`*^9, - 3.6309980888823423`*^9, 3.8066516089920645`*^9, 3.806813115343773*^9, - 3.8068133366773148`*^9, 3.8068134400734453`*^9, 3.806813554965205*^9, - 3.8068136658313103`*^9, 3.8068457472459993`*^9, 3.8068458358345156`*^9, - 3.806845871530653*^9, 3.80684604916921*^9, 3.806851738211562*^9, - 3.8068517761953363`*^9, 3.8068518434988337`*^9, 3.8068520262391214`*^9, - 3.806995207329324*^9, 3.806995317455738*^9, 3.806995547008973*^9, - 3.8069959461383038`*^9, 3.8070052109086695`*^9, 3.8070055022891364`*^9, - 3.807005558303361*^9, 3.8070055946668544`*^9, 3.8070062200278473`*^9, { - 3.8070064238785934`*^9, 3.807006450951669*^9}, 3.8070065853530445`*^9, - 3.8070066940614333`*^9, 3.8070402803473587`*^9}, - ExpressionUUID -> "c9cc9d81-30d3-43a9-b1e5-4c6922cfc9ea"] -}, Open ]], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.626789293137087*^9, - 3.626789300793853*^9}}, - ExpressionUUID -> "23949a30-5b70-43c5-9ab6-365db843d3e6"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"dEp1", "\[Equal]", - RowBox[{ - RowBox[{"qmp1e", " ", "cv", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", "Tp1"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", "Tp2"}]}], ")"}]}], - "-", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], " ", - RowBox[{"(", "wm1", ")"}], " ", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}]}], ",", - RowBox[{"dEp2", "\[Equal]", - RowBox[{ - RowBox[{"qmp2", " ", "cv", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], " ", "Tp2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], " ", "Tp1"}]}], ")"}]}], - "-", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], " ", - RowBox[{"(", "wm1", ")"}], " ", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}]}]}]], "Text", - CellChangeTimes->{3.628703796715478*^9, 3.628703829775539*^9}, - ExpressionUUID -> "446608f0-07ba-4631-b08a-c80758c23a35"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", - RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", - RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qmp2", "\[Equal]", - RowBox[{ - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], - RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", - RowBox[{"Cim", "*", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp1", "\[Equal]", - RowBox[{ - RowBox[{"qmp1e", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp1"}], "+", - RowBox[{"R", " ", "Tp2"}]}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp2"}], "+", - RowBox[{"R", " ", "T1"}]}], ")"}]}]}], ")"}]}], "-", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], "tormr1", " ", "wmr1"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"dEp2", "\[Equal]", - RowBox[{ - RowBox[{"qmp2", " ", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp2"}], "+", - RowBox[{"R", " ", "T1"}]}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp1"}], "+", - RowBox[{"R", " ", "Tp2"}]}], ")"}]}]}], ")"}]}], "-", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], "tormr1", " ", - "wmr1"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, - 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { - 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, - 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, - 3.5781111554625897`*^9}, {3.5781273950757246`*^9, - 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { - 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, - 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, - 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { - 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, - 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { - 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, - 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { - 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, - 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { - 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, - 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { - 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, - 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { - 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, - 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { - 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, - 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { - 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, - 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { - 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, - 3.6289420068459063`*^9}, {3.6289544963717937`*^9, - 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { - 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, - 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { - 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, - 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { - 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, - 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { - 3.8068456549972634`*^9, 3.8068457354002333`*^9}}, - ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", - RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", - RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qmp2", "\[Equal]", - RowBox[{ - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], - RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", - RowBox[{"Cim", "*", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp1", "\[Equal]", - RowBox[{"qmp1e", " ", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp1"}], "+", - RowBox[{"R", " ", "Tp2"}]}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp2"}], "+", - RowBox[{"R", " ", "Tp1"}]}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp2", "\[Equal]", - RowBox[{"qmp2", " ", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp2"}], "+", - RowBox[{"R", " ", "Tp1"}]}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"cv", " ", "Tp1"}], "+", - RowBox[{"R", " ", "Tp2"}]}], ")"}]}]}], ")"}]}]}]}], - "\[IndentingNewLine]", "\t", "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, - 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { - 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, - 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, - 3.5781111554625897`*^9}, {3.5781273950757246`*^9, - 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { - 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, - 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, - 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { - 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, - 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { - 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, - 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { - 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, - 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { - 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, - 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { - 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, - 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { - 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, - 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { - 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, - 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { - 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, - 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { - 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, - 3.6289420068459063`*^9}, {3.6289544963717937`*^9, - 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { - 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, - 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { - 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, - 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { - 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, - 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { - 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, - 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, - 3.8068460446159124`*^9}, - ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", - RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", - RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qmp2", "\[Equal]", - RowBox[{ - RowBox[{"(", - RowBox[{ - RowBox[{ - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], - RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", - RowBox[{"Cim", "*", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}], - RowBox[{"ifPositive", "[", - RowBox[{"qmp2", ",", "rho1", ",", "rho2"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp1", "\[Equal]", " ", - RowBox[{"ifPositive", "[", - RowBox[{"qmp1e", ",", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmp1e", " ", "cp", " ", "Tp2"}], "+", - RowBox[{"Cim", "*", - SuperscriptBox[ - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "+", - RowBox[{"tormr1", " ", "wmr1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qmp1e", " ", "cp", " ", "Tp1"}]}], "\[IndentingNewLine]", - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dEp2", "\[Equal]", " ", - RowBox[{"ifPositive", "[", - RowBox[{"qmp2", ",", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmp2", " ", "cp", " ", "Tp1"}], "+", - RowBox[{"Cim", "*", - SuperscriptBox[ - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "-", - RowBox[{"tormr1", " ", "wmr1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qmp2", " ", "cp", " ", "Tp2"}]}], "\[IndentingNewLine]", - "]"}]}]}], "\[IndentingNewLine]", "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, - 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { - 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, - 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, - 3.5781111554625897`*^9}, {3.5781273950757246`*^9, - 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { - 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, - 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, - 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { - 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, - 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { - 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, - 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { - 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, - 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { - 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, - 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { - 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, - 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { - 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, - 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { - 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, - 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { - 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, - 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { - 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, - 3.6289420068459063`*^9}, {3.6289544963717937`*^9, - 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { - 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, - 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { - 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, - 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { - 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, - 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { - 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, - 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, - 3.8068460446159124`*^9, {3.80685199024829*^9, 3.806852020628915*^9}, { - 3.806994913245649*^9, 3.8069949352449574`*^9}, 3.806994993531843*^9, { - 3.8069951650599227`*^9, 3.80699520287492*^9}, {3.806995493188485*^9, - 3.8069955362081137`*^9}, {3.806995815808729*^9, 3.80699592796305*^9}, { - 3.8070062522606015`*^9, 3.8070063031321316`*^9}, {3.807006362095318*^9, - 3.807006412144695*^9}, 3.807006447424307*^9, {3.807006661209318*^9, - 3.807006686384355*^9}, 3.8070154150471225`*^9}, - ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", - RowBox[{"der", "[", "thetamr1", "]"}], "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", - RowBox[{"der", "[", "thetamr1", "]"}]}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"Jm", " ", - RowBox[{"der", "[", "wmr1", "]"}]}], " ", "+", " ", - RowBox[{"Bm", " ", "wmr1"}]}], " ", "==", " ", - RowBox[{"(", - RowBox[{"torg", " ", "-", " ", "tormr1"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qmp2", "\[Equal]", - RowBox[{ - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], "rho2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], "rho1"}]}], ")"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - FractionBox["Dm", - RowBox[{"2", " ", "pi"}]], - RowBox[{"(", " ", "wmr1", ")"}]}], " ", "+", " ", - RowBox[{"Cim", "*", - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp1", "\[Equal]", " ", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{"qmp1e", " ", "cp", " ", "Tp1"}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp1e", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"qmp1e", " ", "cp", " ", "Tp2"}], "+", - RowBox[{"Cim", "*", - SuperscriptBox[ - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "+", - RowBox[{"tormr1", " ", "wmr1"}]}], ")"}]}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEp2", "\[Equal]", " ", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qmp2", "]"}], - RowBox[{"(", - RowBox[{"qmp2", " ", "cp", " ", "Tp2"}], ")"}]}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qmp2", "]"}], " ", - RowBox[{"(", - RowBox[{ - RowBox[{"qmp2", " ", "cp", " ", "Tp1"}], "+", - RowBox[{"Cim", "*", - SuperscriptBox[ - RowBox[{"(", - RowBox[{"pp1", "-", "pp2"}], ")"}], "2"]}], "-", - RowBox[{"tormr1", " ", "wmr1"}]}], ")"}]}]}]}]}], - "\[IndentingNewLine]", "\t", "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.571903224566633*^9, 3.571903236734655*^9}, {3.5779562974972825`*^9, - 3.577956423703501*^9}, {3.57795648347992*^9, 3.5779564933454847`*^9}, { - 3.577956816134947*^9, 3.5779568302647552`*^9}, {3.577957767610368*^9, - 3.5779577781419706`*^9}, 3.577957863609859*^9, {3.5781111461206555`*^9, - 3.5781111554625897`*^9}, {3.5781273950757246`*^9, - 3.5781274254949446`*^9}, {3.626604378603088*^9, 3.6266044382640533`*^9}, { - 3.626604662032428*^9, 3.626604693302555*^9}, {3.6266047730805316`*^9, - 3.626604820529276*^9}, {3.626604856429866*^9, 3.6266048940006227`*^9}, - 3.626607899862183*^9, {3.626608641173307*^9, 3.626608673875577*^9}, { - 3.626608704628652*^9, 3.626608717389928*^9}, {3.6266087679999886`*^9, - 3.626608772536442*^9}, {3.6266088411673045`*^9, 3.626608902761463*^9}, { - 3.626608946904877*^9, 3.626609017467098*^9}, {3.626609120804098*^9, - 3.626609149715098*^9}, {3.626609284991098*^9, 3.626609287686098*^9}, { - 3.6266093808360977`*^9, 3.626609382648098*^9}, 3.626789081283904*^9, - 3.626813166444628*^9, {3.626853380001712*^9, 3.6268534431423235`*^9}, { - 3.6268535164635167`*^9, 3.6268535179916043`*^9}, {3.6268537570642786`*^9, - 3.6268537585183616`*^9}, {3.626854062275736*^9, 3.6268540744144297`*^9}, { - 3.626854373837556*^9, 3.6268543753686438`*^9}, {3.626854442638491*^9, - 3.626854478095519*^9}, {3.6268554363173265`*^9, 3.6268555022790995`*^9}, { - 3.6272349563514795`*^9, 3.6272349818099356`*^9}, {3.627235911093087*^9, - 3.627235913462223*^9}, {3.627236367789209*^9, 3.627236381178975*^9}, { - 3.627236509392308*^9, 3.6272365196108923`*^9}, {3.6272366001034966`*^9, - 3.627236603817709*^9}, {3.62773277304503*^9, 3.6277328129528294`*^9}, { - 3.6277330790318766`*^9, 3.627733087843053*^9}, {3.6287038399685535`*^9, - 3.6287038886716223`*^9}, {3.6287054247012653`*^9, 3.62870542835227*^9}, { - 3.6289418299516573`*^9, 3.628941837543668*^9}, {3.628942003474901*^9, - 3.6289420068459063`*^9}, {3.6289544963717937`*^9, - 3.6289545066938086`*^9}, {3.6289627795420523`*^9, 3.62896279966508*^9}, { - 3.628962839900137*^9, 3.628962844611144*^9}, {3.628962951956295*^9, - 3.6289629548372993`*^9}, {3.630914412650628*^9, 3.630914467465109*^9}, { - 3.630931101653892*^9, 3.630931106617176*^9}, {3.630931151425739*^9, - 3.63093116456149*^9}, {3.6309312313293085`*^9, 3.6309312452211037`*^9}, { - 3.630931305455549*^9, 3.630931321108444*^9}, {3.6309980434137416`*^9, - 3.6309980806518717`*^9}, {3.806651355903127*^9, 3.806651374857576*^9}, { - 3.8068456549972634`*^9, 3.8068457354002333`*^9}, {3.806845829234332*^9, - 3.806845831629858*^9}, {3.8068458647037044`*^9, 3.806845866876459*^9}, - 3.8068460446159124`*^9, {3.80685199024829*^9, 3.806852020628915*^9}, { - 3.806994913245649*^9, 3.8069949352449574`*^9}, 3.806994993531843*^9, { - 3.8069951650599227`*^9, 3.80699520287492*^9}, {3.806995493188485*^9, - 3.8069955362081137`*^9}, 3.8070066355612593`*^9}, - ExpressionUUID -> "d1d97cad-79e4-4da2-93b1-848673ca6727"], - -Cell["The boundarys\[AliasDelimiter]", "Text", - CellChangeTimes->{3.807040218503147*^9}, - ExpressionUUID -> "e4ffa3ce-4a38-43f2-9641-ae4db6d2d8ed"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"pp1", " ", "==", " ", - RowBox[{"(", - RowBox[{"cp1", " ", "+", " ", - RowBox[{"Zcp1", " ", "dEp1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"pp2", " ", "==", - RowBox[{"(", - RowBox[{"cp2", " ", "+", " ", - RowBox[{"Zcp2", " ", "dEp2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"tormr1", "\[Equal]", - RowBox[{"cmr1", "+", - RowBox[{"wmr1", " ", "Zcmr1"}]}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, {3.626609061441098*^9, - 3.626609061923098*^9}, {3.6289545114458156`*^9, 3.6289545165178227`*^9}}, - ExpressionUUID -> "14417b4d-b623-43b0-8033-92958ae06a33"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", "=", " ", - RowBox[{"{", - RowBox[{ - "thetamr1", ",", "wmr1", ",", "qmp2", ",", "dEp1", ",", "dEp2", ",", - "pp1", ",", "pp2", ",", "tormr1"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { - 3.577956431479946*^9, 3.5779564393723974`*^9}, {3.577956859515428*^9, - 3.5779568640126853`*^9}, {3.5779577901476574`*^9, 3.577957792222776*^9}, - 3.5779578730333977`*^9, 3.5781111509651403`*^9, {3.626609178128098*^9, - 3.626609189264098*^9}, {3.6266868991754274`*^9, 3.6266869012046304`*^9}, { - 3.6289545205788283`*^9, 3.628954527860839*^9}}, - ExpressionUUID -> "1371c583-1880-478e-b95c-70c4bf5830c2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"variableLowLimits", "=", - RowBox[{"{", - RowBox[{ - RowBox[{"{", - RowBox[{"pp1", ",", "0"}], "}"}], ",", - RowBox[{"{", - RowBox[{"pp2", ",", "0"}], "}"}]}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.578505814681842*^9, 3.5785058445435495`*^9}, - 3.578509359037567*^9, 3.626686631086085*^9, 3.6266866678460846`*^9}, - ExpressionUUID -> "6a2c34eb-6a48-44af-87c7-15f91ee89ec0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"qmp1", "\[Equal]", - RowBox[{"-", "qmp2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.577956890459198*^9, 3.5779569714248285`*^9}, { - 3.578111147599804*^9, 3.578111149042948*^9}, {3.6266044198372107`*^9, - 3.626604453688596*^9}, {3.626604488745101*^9, 3.626604502243451*^9}, - 3.6266045457538013`*^9, 3.626604589207146*^9, {3.6266046247527003`*^9, - 3.6266046598352084`*^9}, {3.626608952152402*^9, 3.626608954681655*^9}, - 3.6266865798930845`*^9, {3.626686949473457*^9, 3.626686951085618*^9}, { - 3.6268131265583467`*^9, 3.6268131397441006`*^9}}, - ExpressionUUID -> "47bdc259-c96b-4bd5-95b0-148e45260b9d"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "292681d5-7821-4cd8-b4c6-21654107b382"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,182, - 16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402806000986`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"2\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,183, - 16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402807089853`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,547,184, - 16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402807469473`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ -\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,547,185,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.807040280779913*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticCompressor\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticCompressor\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pp1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pp2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pmr1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"5\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticCompressor\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"dis\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticCompressor.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pp1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pp2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Pmr1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,547,186,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.80704028081188*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,547,187,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.807040280859831*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 547,188,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.807040280891797*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,547,189,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402809227653`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,547,190,16378091246204845133, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402809537325`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,547,191,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.807040280986699*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,547,192,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402810166683`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 547,193,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.8070402810486355`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,547,194,16378091246204845133,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8066516095844536`*^9, 3.8068131156257553`*^9, 3.8068133370579224`*^9, - 3.8068134407327642`*^9, 3.8068135553078513`*^9, 3.80681366620992*^9, - 3.806845747675556*^9, 3.8068458361551847`*^9, 3.8068458718792934`*^9, - 3.806846049523843*^9, 3.806851738647112*^9, 3.806851776655862*^9, - 3.8068518440592556`*^9, 3.8068520266197286`*^9, 3.806995207606039*^9, - 3.8069953176335545`*^9, 3.8069955472077675`*^9, 3.8069959463810534`*^9, - 3.807005211226342*^9, 3.807005502542875*^9, 3.807005558581074*^9, - 3.8070055949775343`*^9, 3.8070062203375273`*^9, {3.8070064241313314`*^9, - 3.807006451248362*^9}, 3.807006585686701*^9, 3.8070066942772107`*^9, - 3.807040281079603*^9}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData["file"], "Input", - CellChangeTimes->{{3.8068135694878488`*^9, 3.806813570596073*^9}}], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticCompressor.hpp\"\>"], "Output", - CellChangeTimes->{ - 3.8068135716840105`*^9, 3.8068136667248936`*^9, 3.806845748304906*^9, - 3.806845836648675*^9, 3.806845872392763*^9, 3.8068460500083437`*^9, - 3.806851739213527*^9, 3.806851777167333*^9, 3.806851844514785*^9, - 3.806852027097235*^9, 3.8069952083882313`*^9, 3.8069953180081673`*^9, - 3.806995547712247*^9, 3.8069959467506723`*^9, 3.807005211680873*^9, - 3.807005502967436*^9, 3.8070055589646797`*^9, 3.8070055955689244`*^9, - 3.80700622082902*^9, {3.8070064252841425`*^9, 3.807006451600001*^9}, - 3.807006586331036*^9, 3.807006694847623*^9, 3.807040281180499*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1008, 664}, -WindowMargins->{{Automatic, -1831}, {85, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "2915a40f-bb32-48b0-8b93-922216478383" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 430, 8, 63, "Section", - Evaluatable->False], -Cell[1012, 32, 307, 5, 30, "Input"], -Cell[1322, 39, 778, 15, 30, "Input"], -Cell[CellGroupData[{ -Cell[2125, 58, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2483, 66, 750, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[3248, 83, 767, 11, 30, "Output"], -Cell[4018, 96, 1778, 36, 164, "Input"], -Cell[5799, 134, 2481, 38, 235, "Text"], -Cell[CellGroupData[{ -Cell[8305, 176, 98, 0, 49, "Subsection"], -Cell[8406, 178, 98, 0, 30, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[8541, 183, 96, 0, 49, "Subsection"], -Cell[8640, 185, 125, 0, 30, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[8802, 190, 101, 0, 49, "Subsection"], -Cell[8906, 192, 1715, 37, 176, "Input"], -Cell[10624, 231, 1239, 23, 107, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[11900, 259, 100, 0, 49, "Subsection"], -Cell[12003, 261, 97, 0, 30, "Text"], -Cell[12103, 263, 464, 12, 52, "Input"], -Cell[12570, 277, 192, 3, 30, "Text"], -Cell[12765, 282, 270, 5, 30, "Input"], -Cell[13038, 289, 720, 17, 94, "Input"], -Cell[13761, 308, 279, 6, 30, "Input"], -Cell[14043, 316, 222, 5, 30, "Input"], -Cell[CellGroupData[{ -Cell[14290, 325, 228, 5, 30, "Input"], -Cell[14521, 332, 1557, 21, 30, "Output"] -}, Open ]], -Cell[16093, 356, 672, 14, 69, "Input"], -Cell[16768, 372, 1219, 37, 91, "Text"], -Cell[17990, 411, 5438, 116, 188, "Input"], -Cell[23431, 529, 5303, 112, 188, "Input"], -Cell[28737, 643, 5565, 104, 320, "Input"], -Cell[34305, 749, 5621, 115, 196, "Input"], -Cell[39929, 866, 147, 2, 30, "Text"], -Cell[40079, 870, 935, 22, 107, "Input"], -Cell[41017, 894, 709, 13, 30, "Input"], -Cell[41729, 909, 441, 11, 30, "Input"], -Cell[42173, 922, 759, 13, 69, "Input"], -Cell[CellGroupData[{ -Cell[42957, 939, 122, 2, 30, "Input"], -Cell[43082, 943, 1052, 18, 21, "Message"], -Cell[44137, 963, 1052, 18, 21, "Message"], -Cell[45192, 983, 1052, 18, 21, "Message"], -Cell[46247, 1003, 1006, 17, 21, "Message"], -Cell[47256, 1022, 7230, 106, 148, "Message"], -Cell[54489, 1130, 938, 16, 21, "Message"], -Cell[55430, 1148, 1080, 18, 21, "Message"], -Cell[56513, 1168, 940, 16, 21, "Message"], -Cell[57456, 1186, 1082, 19, 21, "Message"], -Cell[58541, 1207, 938, 16, 21, "Message"], -Cell[59482, 1225, 1012, 17, 21, "Message"], -Cell[60497, 1244, 1082, 18, 21, "Message"], -Cell[61582, 1264, 1013, 17, 21, "Message"] -}, Open ]], -Cell[CellGroupData[{ -Cell[62632, 1286, 98, 1, 30, "Input"], -Cell[62733, 1289, 733, 10, 30, "Output"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticCompressor.svg b/devPneumatic/PneumaticCompressor.svg deleted file mode 100644 index d3c4773..0000000 --- a/devPneumatic/PneumaticCompressor.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticCompressor.xml b/devPneumatic/PneumaticCompressor.xml deleted file mode 100644 index 976cbb8..0000000 --- a/devPneumatic/PneumaticCompressor.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - A pneumatic Compressor that can be used as compressor and motor. CDF-player for Mathematica documents can be found on http://www.wolfram.com/cdf-player/ - PneumaticCompressor.nb - - - - - - - - diff --git a/devPneumatic/PneumaticConnector.nb b/devPneumatic/PneumaticConnector.nb deleted file mode 100644 index ec43677..0000000 --- a/devPneumatic/PneumaticConnector.nb +++ /dev/null @@ -1,737 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 33247, 729] -NotebookOptionsPosition[ 30825, 654] -NotebookOutlinePosition[ 31479, 676] -CellTagsIndexPosition[ 31436, 673] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Connector", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { - 3.8056149554872293`*^9, 3.8056149578457985`*^9}, {3.806652398001198*^9, - 3.80665239950165*^9}}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9, 3.8050176650180016`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, 3.805022093004465*^9, {3.8056149610634813`*^9, - 3.8056149685627427`*^9}, 3.8056280124531794`*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "48", ",", - "12.7417257`8.857803207916582"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, - 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, - 3.8051078642885723`*^9, 3.8056150680541162`*^9, 3.8056237588861*^9, - 3.805624092803662*^9}, - ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], - -Cell[BoxData[ - RowBox[{"eps", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, - 3.805022093004465*^9}, - ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], - -Cell[TextData[{ - "This is a simple fixed pneumatic restrictor with two ports. \n\n", - Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0001OT0@0006`00016000000000103000<0@00 -oOoooogooolU3P00Q@@00215CDH00040i1L006l0000300000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001FA000RDP0000000000/08/>P0084<00000 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001H0`004P40000000000000F0<00181000T000090000;02;3X0000000000;02;3X00213 -00000080000R000030000?oooom60000l0H00>@60015CDH[:d0000`0000000007T0600`000000000 -8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P0084<00000 -8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020;4Q90000080/B4V0;X0000W000008@`=/@000000000:A6jd:agR53nd[[@[7N8D=oC^]2JnDQ@gm>jd:gkB53 -Odk[@^k0;4=oC^]2>/T/@o]:jd;dcba3Y4K[@_C?;4=EbKi2m00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 -0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000VYTI?`<000000810 -0000008@`=/000000000o`Q00`00002`000024<3K000009P000000000VYTI?`<0000008100000008@`=/000000000o`Q01`=H0000 -C000008@`=/7000002000;lBbT9DI2U3_a;:@UAT:D?`RLi2`U4X@e/ceD8mBBQ3aMcK@[I0:4?UTN12 -E6@Y@nFAh49DI2U300<30`<30`4E@0L0400000@000060000:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 -0020?`00000000000020?`00000000009T00010000040000000000Q020@H00003000008@`=/00000 -0`0043A0200<00000000024000080000HP0000`000010000C00006@0003moooooOoooeP0000]0000 -oOoooogooomL0000<@0002T0ZP00000000000000P3l0000000000000P3l000000000000000000000 -000000000000000000000280000<0000ooooodH0000L0000400004E=AR/2@00030000000000>0000 -50000000000@0000500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000 -=000008000020000Bfhe_h1/=Klgnje2PoT_@P<0001;KSFoP6`e_eZ@[4:0K3FoBfhe_m4S;D8Q0000 -20000680000<00000@000240000800007P0001P0002P000000000;X2000=0@00700000P0000Q0000 -2000024000080000L`0000`000000000700000P0000U000030000000080U0000300000L0080U0000 -300000h0080I000030000?ooo`0H000030000000000B000030000080000C000030000040000D0000 -300000d0000E000030000040000F000030000000000=00004000000000000000>P0000`0000:0000 -6`00010000000000000002<0000P0000k=G7@00000000000XGS7@09]94?EG8e0900002@0003/eLM0 -00000000002QN5?042P/7NA[X_ko_ooo`CJC`2[KK5g00000=9]/GL@9=P0000`0000400008@0000P0000N0000600000000000000000000000000T0000 -90000000P3d0000000000000P3d0000000000080001O0000>0000080000h0000000003P000000000 -02810200000000000000000000000000000002D0000<00000P0002D0000<00001@00P3/000080000 -6`000100001;1@00200005P0000X000000000000003oooooooooo`<0001;1@P0C0D:04`5300f0000 -400004`5002K0P00F00002P00000000000000?oooooooooo0`0004`5W@9;1Ih2B`FN0SH0000@0000 -2@0009h2001H0000:000000000000000ooooooooool300002@2N0PP0W@8809/2=P00010000080000 -300005P0000X000000000000003oooooooooo`<0000800X02@0800T0200m0000200003`000080000 -@00001P00000000000000?oooooooooo9@0000`0000700209@0000`000000020900002@000000811 -000000000000081100000000000200008P0000`0003ooooo:00000`000020000>P0000`0000:0000 -AP0001@000080000AdA9@`<0000R000030000?oooolR000030000?oooolU0000300000d0080X0000 -30000040000R000030000?oooolR000030000?kooom60000o0400?010015CDH[;40002@0000H0000 -0020?`00000000000020?`0008000020:T0002@0000H00001NS5@000000000007j[3@19R94P0000000000/08/>P0084<00000940000`000000000:d0000`000000000 -7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P000080005I4 -0029@cA00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213 -000002501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213000002Y0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 -8D0700`000000000:T0002@0000H00000020?`00000000000020?nBL=DBXORa3140000`000000000 -8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000001H0`00 -4P40000000000000F0<00181000T000090000000P3l0000000000000P3oTW3E4Z7h/@`80000<0000 -40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 -000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 -000000000030ib]100010000001=0000000002SQC`0A0000100009SWC`1HhTl0@:2`Me6]Ro_noooo -`>5?05?0060001_=CAe0000000000000000 -00000:PEmhj9?0>`g9gKPDoX9;1T410T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 -4P0000`000010000600000`000000002E00005@0003F0P00?P000103003;00000P00000000000000 -0000000000010000C00000000000000000000?ooooooooooD0000380H>0k00009@0000`0000>0020 -:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?i0MS4:XORa3140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001H0`004P40000000000000 -F0<00181000T000090000000P3l0000000000000P3n@7Ha2Z7h/@`80000<00004000000000000000 -2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 -K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 -00010000001=0000000005@0000A0000SChQm@00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 -JWL4o`T000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@000160000?P000800003;00000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340Z/Hk00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -X0000000002i0P0030400:00000000006P8000d1000Y0:X0000000000000080o000000000000080o -0000000000000000000000000000000000000000000R000030000?oooom60000700001000015CDH[ -0T0000`0000000003P0001@000000000400001@0 -\>"], "Graphics", - GeneratedCell->False, - CellAutoOverwrite->False, - ImageSize->{234., 75.15328467153284}, - ImageMargins->{{0, 0}, {0, 80}}] -}], "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050228848734484`*^9, 3.8050229142901974`*^9}, {3.8056281158824916`*^9, - 3.8056281567183695`*^9}}, - ExpressionUUID -> "f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "14"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, - 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { - 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, - 3.805107447216238*^9}, {3.8056237387208996`*^9, 3.8056237519422646`*^9}, { - 3.8056240840007424`*^9, 3.8056240846780434`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, - 3.805022852714327*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The input signal is limited between 0 and 1.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, - 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Cfe", "=", "Cf"}], " ", ";"}]], "Input", - CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { - 3.8051070382200217`*^9, 3.805107097045391*^9}, 3.8056150177300262`*^9}, - ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", " ", "=", " ", - RowBox[{"-", "qm2"}]}], ";"}]], "Input", - CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, - 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, - 3.8048706405459685`*^9}, - ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], - -Cell[BoxData[ - RowBox[{"NgPos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, - ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], - -Cell[BoxData[ - RowBox[{"NgNeg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, - ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], - ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, - 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { - 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, - 3.8051078460746803`*^9}, {3.8056150485602245`*^9, 3.8056150501685653`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell["Expressions that are evaluated before the system equations", "Text", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { - 3.80502217704597*^9, - 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { - 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, - 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { - 3.805022272779731*^9, - 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ -3c55a8691acc"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmP", "==", - RowBox[{"Cfe", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qmN", "==", - RowBox[{"Cfe", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm2", "==", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1e", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], - ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, - 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { - 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, - 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { - 3.805107119679675*^9, 3.805107124187194*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.805017881102742*^9, - 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, - 3.8048706590878425`*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", - "p2"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, - 3.804870662382444*^9}}, - ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"qm1", "==", - RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { - 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, - 3.626788084646427*^9}, - ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] -}, Open ]] -}, Open ]] -}, -WindowSize->{834, 654}, -WindowMargins->{{Automatic, 278}, {-107, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 335, 5, 70, "Section"], -Cell[917, 29, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1275, 37, 533, 12, 50, "Input"], -Cell[1811, 51, 814, 15, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2650, 70, 1617, 35, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4270, 107, 1393, 22, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[5666, 131, 255, 5, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[5958, 141, 98, 0, 41, "Subsection"], -Cell[6059, 143, 8815, 115, 137, "Text"], -Cell[14877, 260, 2139, 46, 196, "Input"], -Cell[17019, 308, 721, 17, 88, "Input"], -Cell[17743, 327, 935, 18, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18715, 350, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[18863, 354, 236, 4, 30, "Text"], -Cell[19102, 360, 278, 5, 30, "Input"], -Cell[19383, 367, 214, 5, 30, "Text"], -Cell[19600, 374, 315, 7, 30, "Input"], -Cell[19918, 383, 1034, 23, 74, "Input"], -Cell[20955, 408, 981, 22, 74, "Input"], -Cell[21939, 432, 1617, 41, 94, "Input"], -Cell[23559, 475, 252, 4, 30, "Text"], -Cell[23814, 481, 793, 15, 69, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[24644, 501, 224, 4, 49, "Subsection"], -Cell[24871, 507, 3111, 64, 229, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[28019, 576, 160, 3, 49, "Subsection"], -Cell[28182, 581, 816, 19, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[29035, 605, 174, 3, 49, "Subsection"], -Cell[29212, 610, 592, 12, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[29841, 627, 88, 0, 49, "Subsection"], -Cell[29932, 629, 146, 2, 30, "Text"], -Cell[30081, 633, 333, 7, 69, "Input"], -Cell[30417, 642, 255, 4, 30, "Input"], -Cell[30675, 648, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticExhaust.hpp b/devPneumatic/PneumaticExhaust.hpp deleted file mode 100644 index 2201578..0000000 --- a/devPneumatic/PneumaticExhaust.hpp +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef PNEUMATICEXHAUST_HPP_INCLUDED -#define PNEUMATICEXHAUST_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticExhaust.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 28 Jul 2020 19:02:51 -//! @brief Exhaust to ambient air -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticExhaust.nb*/ - -using namespace hopsan; - -class PneumaticExhaust : public ComponentC -{ -private: - Port *mpP1; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; -//==This code has been autogenerated using Compgen== - //inputVariables - double p0; - double T0; - //outputVariables - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpp0; - double *mpT0; - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticExhaust(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("p0","Pressure","Pa",100000.,&mpp0); - addInputVariable("T0","Input temperature","K",293.,&mpT0); - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - - //Read inputVariables from nodes - p0 = (*mpp0); - T0 = (*mpT0); - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - dE1 = (*mpP_dE1); - - //Read inputVariables from nodes - p0 = (*mpp0); - T0 = (*mpT0); - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - c1 = p0; - T1 = T0; - Zc1 = 0.; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port P1 - (*mpP_T1)=T1; - (*mpP_c1)=c1; - (*mpP_Zc1)=Zc1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICEXHAUST_HPP_INCLUDED diff --git a/devPneumatic/PneumaticExhaust.nb b/devPneumatic/PneumaticExhaust.nb deleted file mode 100644 index 41097aa..0000000 --- a/devPneumatic/PneumaticExhaust.nb +++ /dev/null @@ -1,596 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 30454, 588] -NotebookOptionsPosition[ 28697, 533] -NotebookOutlinePosition[ 29350, 555] -CellTagsIndexPosition[ 29307, 552] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Exhaust", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { - 3.8049422173232346`*^9, 3.804942220674777*^9}}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.804242834707038*^9, 3.804242875430032*^9, - 3.804406806214493*^9, 3.8044068860835514`*^9, 3.8048706919958982`*^9, - 3.8048708156023965`*^9, 3.8049204063398457`*^9, 3.8049423161163273`*^9, - 3.8049430084277253`*^9, {3.8049430428502183`*^9, 3.804943086458237*^9}, - 3.804944571220646*^9}, - ExpressionUUID -> "d143c3c0-252e-4229-a3ec-61cbc0e88cef"] -}, Open ]], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8048708156393595`*^9, 3.8049204063837996`*^9, 3.8049423161672754`*^9, - 3.804943008485664*^9, {3.804943042898168*^9, 3.8049430865061865`*^9}, - 3.8049445712765884`*^9}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.8049421893950415`*^9, 3.804942209842949*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "7", ",", "28", ",", "19", ",", "2", ",", - "51.2875773`9.462587034594664"}], "}"}]], "Output", - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, 3.8049423162162237`*^9, - 3.8049430085356135`*^9, {3.804943042947118*^9, 3.8049430865671225`*^9}, - 3.804944571328534*^9}, - ExpressionUUID -> "aa6f4f45-bf37-4268-85ba-d1117d8dded6"] -}, Open ]], - -Cell[BoxData[ - RowBox[{ - RowBox[{"p0", "=."}], ";", - RowBox[{"T0", "=."}], ";", - RowBox[{"Zc1", "=."}], ";"}]], "Input", - CellChangeTimes->{{3.8049422460935555`*^9, 3.8049422609472346`*^9}, { - 3.80494299434525*^9, 3.804942997204302*^9}, 3.8049430837570224`*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "293.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.804942099979274*^9, 3.8049421534511175`*^9}, {3.804942236025941*^9, - 3.8049422391377306`*^9}}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"PneumaticCnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.804942088899703*^9, - 3.8049420899236465`*^9}, 3.804944559280962*^9}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection", - ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"c1", "\[Equal]", "p0"}], ",", "\[IndentingNewLine]", - RowBox[{"T1", "\[Equal]", "T0"}], ",", "\[IndentingNewLine]", - RowBox[{"Zc1", "\[Equal]", "0."}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.804870613309064*^9, 3.8048706633414555`*^9, {3.804941709304257*^9, - 3.8049417911847982`*^9}, {3.804941848960205*^9, 3.804941922326524*^9}, { - 3.8049419636129365`*^9, 3.8049419756045685`*^9}, {3.8049420136283455`*^9, - 3.804942023779874*^9}, {3.804942272410411*^9, 3.8049422751535807`*^9}, { - 3.804943034998318*^9, 3.804943062045418*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticExhaust.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"p0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"T0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,227, - 112,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445717211304`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,227,113,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445717800694`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,227,114,16364522693655586838, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445718070416`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,227,115,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.804944571834014*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,227,116, - 16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.804944571864981*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,227,117,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445718939514`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,227,118,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.804944571919925*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,227,119, - 16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445719488955`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,227,120,16364522693655586838,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.6266920817786455`*^9, 3.6266921176672335`*^9}, { - 3.626693967553204*^9, 3.626693983151764*^9}, 3.626694042765724*^9, - 3.6266947496998463`*^9, 3.626694940291477*^9, {3.626694987413189*^9, - 3.6266950037778254`*^9}, 3.626695491159559*^9, 3.62669573269471*^9, - 3.626695945747013*^9, 3.626696261286564*^9, {3.6266980442718444`*^9, - 3.6266980666980867`*^9}, 3.6267530623375845`*^9, 3.6267867052653074`*^9, { - 3.6267867957443542`*^9, 3.626786813557135*^9}, 3.6267869400707855`*^9, - 3.626788350899334*^9, 3.6267885464093337`*^9, {3.6267886035613337`*^9, - 3.6267886293623333`*^9}, 3.6267886682263336`*^9, {3.626788727301509*^9, - 3.6267887765514336`*^9}, 3.803634491147323*^9, 3.8036346565001135`*^9, - 3.803813665181037*^9, 3.8042428355411777`*^9, 3.804242876452976*^9, - 3.8044068088587933`*^9, 3.8044068886728*^9, 3.8048706931217375`*^9, - 3.8048708165943727`*^9, 3.804920407776363*^9, 3.8049423167217035`*^9, - 3.8049430089232135`*^9, {3.8049430433367157`*^9, 3.8049430869866905`*^9}, - 3.8049445719758673`*^9}, - ExpressionUUID -> "5deb8f27-ad1d-47f7-beb5-db7cf23e01ea"] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1152, 737}, -WindowMargins->{{282, Automatic}, {43, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 282, 4, 70, "Section"], -Cell[864, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[1244, 38, 484, 11, 30, "Input"], -Cell[1731, 51, 981, 14, 30, "Output"] -}, Open ]], -Cell[2727, 68, 766, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3496, 84, 332, 5, 30, "Output"], -Cell[CellGroupData[{ -Cell[3853, 93, 1438, 31, 183, "Input"], -Cell[5294, 126, 1273, 20, 30, "Output"] -}, Open ]], -Cell[6582, 149, 268, 6, 30, "Input"], -Cell[6853, 157, 857, 19, 88, "Input"], -Cell[7713, 178, 793, 14, 69, "Input"], -Cell[CellGroupData[{ -Cell[8531, 196, 92, 1, 49, "Subsection"], -Cell[8626, 199, 146, 2, 30, "Text"], -Cell[8775, 203, 777, 15, 107, "Input"], -Cell[CellGroupData[{ -Cell[9577, 222, 122, 2, 30, "Input"], -Cell[9702, 226, 7488, 107, 130, "Message"], -Cell[17193, 335, 1352, 21, 21, "Message"], -Cell[18548, 358, 1494, 24, 21, "Message"], -Cell[20045, 384, 1350, 21, 21, "Message"], -Cell[21398, 407, 1522, 24, 21, "Message"], -Cell[22923, 433, 1352, 21, 21, "Message"], -Cell[24278, 456, 1422, 22, 21, "Message"], -Cell[25703, 480, 1524, 24, 21, "Message"], -Cell[27230, 506, 1427, 22, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticExhaust.svg b/devPneumatic/PneumaticExhaust.svg deleted file mode 100644 index 8b4d112..0000000 --- a/devPneumatic/PneumaticExhaust.svg +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/devPneumatic/PneumaticExhaust.xml b/devPneumatic/PneumaticExhaust.xml deleted file mode 100644 index 54cf625..0000000 --- a/devPneumatic/PneumaticExhaust.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - PneumaticExhaust - PneumaticExhaust.nb - PneumaticExhaust.pdf - - - - - - - diff --git "a/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-08-17).dll" "b/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-08-17).dll" deleted file mode 100644 index 2b7ba9b697a9aa457068becd41999d33a34b09dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021076 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 rTv;o(-ga{%>q7OA+VpoX)Xs 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%0Ac7qgs|6?X6~D);6sFDkCBs!n9fkeyXl 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 TPcf2?yosFus8)*L@DW){P diff --git "a/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-09-04).dll" "b/devPneumatic/PneumaticLib (Konfliktkopia f\303\266r Petter Krus 2020-09-04).dll" deleted file mode 100644 index 05a53d8e38296e9543d6809ff5408070ffcde666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1036788 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

    sNj+|pf>Z{BFOMk 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

    w&$@v(0p^21?_seiE;> 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־=Z#6 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 Pl}=UzU1c%rWyAj;WJM9( diff --git a/devPneumatic/PneumaticPCIvalve32.hpp b/devPneumatic/PneumaticPCIvalve32.hpp deleted file mode 100644 index a359d98..0000000 --- a/devPneumatic/PneumaticPCIvalve32.hpp +++ /dev/null @@ -1,809 +0,0 @@ -#ifndef PNEUMATICPCIVALVE32_HPP_INCLUDED -#define PNEUMATICPCIVALVE32_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPCIvalve32.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 13 Aug 2020 18:20:24 -//! @brief Pneumatic pressure controlled inverted 32-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticPCIvalve32.nb*/ - -using namespace hopsan; - -class PneumaticPCIvalve32 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double pso; - double psmax; - double tau; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpPS; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[12]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port PS variable - double pS; - double qmS; - double TS; - double dES; - double cS; - double ZcS; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double xvref; - double xv; - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double Ng32e; - double Ng12e; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port PS pointer - double *mpP_pS; - double *mpP_qmS; - double *mpP_TS; - double *mpP_dES; - double *mpP_cS; - double *mpP_ZcS; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mppso; - double *mppsmax; - double *mptau; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpxvref; - double *mpxv; - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpNg32e; - double *mpNg12e; - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPCIvalve32(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(12,12); - systemEquations.create(12); - delayedPart.create(13,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpPS=addPowerPort("PS","NodePneumatic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ -0.528,&mpBf); - addInputVariable("Cf", "C, ISO flow coefficient", "", \ -1.e-13,&mpCf); - addInputVariable("x0", "Relative overlap", "", 0.1,&mpx0); - addInputVariable("pso", "Opening pressure", "Pa", \ -800000.,&mppso); - addInputVariable("psmax", "Fully open pressure", "Pa", \ -900000.,&mppsmax); - addInputVariable("tau", "valve time constant", "s", 0.01,&mptau); - addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); - addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); - //Add outputVariables to the component - addOutputVariable("xvref","Ref normalized spool \ -position","",0.,&mpxvref); - addOutputVariable("xv","Normalized spool position","",0.,&mpxv); - addOutputVariable("qm12Pos","Internal \ -variable","kg/s",0.,&mpqm12Pos); - addOutputVariable("qm12Neg","Internal \ -variable","kg/s",0.,&mpqm12Neg); - addOutputVariable("qm32Pos","Internal \ -variable","kg/s",0.,&mpqm32Pos); - addOutputVariable("qm32Neg","Internal \ -variable","kg/s",0.,&mpqm32Neg); - addOutputVariable("Ng32e","Internal variable","",0.,&mpNg32e); - addOutputVariable("Ng12e","Internal variable","",0.,&mpNg12e); - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,12); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port P2 - mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); - mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); - mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); - mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); - mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); - mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); - //Port P3 - mpP_p3=getSafeNodeDataPtr(mpP3, NodePneumatic::Pressure); - mpP_qm3=getSafeNodeDataPtr(mpP3, NodePneumatic::MassFlow); - mpP_T3=getSafeNodeDataPtr(mpP3, NodePneumatic::Temperature); - mpP_dE3=getSafeNodeDataPtr(mpP3, NodePneumatic::EnergyFlow); - mpP_c3=getSafeNodeDataPtr(mpP3, NodePneumatic::WaveVariable); - mpP_Zc3=getSafeNodeDataPtr(mpP3, NodePneumatic::CharImpedance); - //Port PS - mpP_pS=getSafeNodeDataPtr(mpPS, NodePneumatic::Pressure); - mpP_qmS=getSafeNodeDataPtr(mpPS, NodePneumatic::MassFlow); - mpP_TS=getSafeNodeDataPtr(mpPS, NodePneumatic::Temperature); - mpP_dES=getSafeNodeDataPtr(mpPS, NodePneumatic::EnergyFlow); - mpP_cS=getSafeNodeDataPtr(mpPS, NodePneumatic::WaveVariable); - mpP_ZcS=getSafeNodeDataPtr(mpPS, NodePneumatic::CharImpedance); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - p2 = (*mpP_p2); - qm2 = (*mpP_qm2); - T2 = (*mpP_T2); - dE2 = (*mpP_dE2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port P3 - p3 = (*mpP_p3); - qm3 = (*mpP_qm3); - T3 = (*mpP_T3); - dE3 = (*mpP_dE3); - c3 = (*mpP_c3); - Zc3 = (*mpP_Zc3); - //Port PS - pS = (*mpP_pS); - qmS = (*mpP_qmS); - TS = (*mpP_TS); - dES = (*mpP_dES); - cS = (*mpP_cS); - ZcS = (*mpP_ZcS); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - x0 = (*mpx0); - pso = (*mppso); - psmax = (*mppsmax); - tau = (*mptau); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //Read outputVariables from nodes - xvref = (*mpxvref); - xv = (*mpxv); - qm12Pos = (*mpqm12Pos); - qm12Neg = (*mpqm12Neg); - qm32Pos = (*mpqm32Pos); - qm32Neg = (*mpqm32Neg); - Ng32e = (*mpNg32e); - Ng12e = (*mpNg12e); - -//==This code has been autogenerated using Compgen== - - //LocalExpressions - xvref = 1 - 2*limit((pS - pso)/(psmax - pso),0,1); - cp = cv + R; - - //Initialize delays - delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ -mTimestep*xvref)/(mTimestep + 2*tau); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(12); - Vec stateVark(12); - Vec deltaStateVar(12); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - T2 = (*mpP_T2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port P3 - T3 = (*mpP_T3); - c3 = (*mpP_c3); - Zc3 = (*mpP_Zc3); - //Port PS - TS = (*mpP_TS); - cS = (*mpP_cS); - ZcS = (*mpP_ZcS); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - x0 = (*mpx0); - pso = (*mppso); - psmax = (*mppsmax); - tau = (*mptau); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //LocalExpressions - xvref = 1 - 2*limit((pS - pso)/(psmax - pso),0,1); - cp = cv + R; - - //Initializing variable vector for Newton-Raphson - stateVark[0] = xv; - stateVark[1] = qm12Pos; - stateVark[2] = qm12Neg; - stateVark[3] = qm32Pos; - stateVark[4] = qm32Neg; - stateVark[5] = dE2; - stateVark[6] = dE1; - stateVark[7] = dE3; - stateVark[8] = p2; - stateVark[9] = p1; - stateVark[10] = p3; - stateVark[11] = pS; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //PCIvalve32 - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =xv - (mTimestep*xvref)/(mTimestep + 2*tau) + \ -delayedPart[1][1]; - systemEquations[1] =qm12Pos - Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - \ -xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ -onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ -p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[2] =qm12Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - \ -xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ -onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ -p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[3] =qm32Pos - Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))); - systemEquations[4] =qm32Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))); - systemEquations[5] =dE2 + \ -cp*(-(qm12Pos*T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - \ -qm32Pos*T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + \ -qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3) - qm12Pos*T1*onPositive(p1 \ -- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + qm12Neg*onNegative(p1 - p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - \ -p2)) + qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - \ -p2)) + qm12Pos*onPositive(p1 - p2))) - qm32Pos*T3*onPositive(-p2 + \ -p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + qm32Neg*onNegative(-p2 + p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + \ -p3)) + qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 \ -+ p3)) + qm32Pos*onPositive(-p2 + p3)))); - systemEquations[6] =dE1 - cp*(qm12Neg*onNegative(p1 - p2) - \ -qm12Pos*onPositive(p1 - p2))*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2))); - systemEquations[7] =dE3 - cp*(qm32Neg*onNegative(-p2 + p3) - \ -qm32Pos*onPositive(-p2 + p3))*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) \ -+ qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + \ -p3)) + qm32Pos*onPositive(-p2 + p3))); - systemEquations[8] =-c2 + p2 - dE2*Zc2; - systemEquations[9] =-c1 + p1 - dE1*Zc1; - systemEquations[10] =-c3 + p3 - dE3*Zc3; - systemEquations[11] =-cS + pS - dES*ZcS; - - //Jacobian matrix - jacobianMatrix[0][0] = 1; - jacobianMatrix[0][1] = 0; - jacobianMatrix[0][2] = 0; - jacobianMatrix[0][3] = 0; - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = 0; - jacobianMatrix[0][6] = 0; - jacobianMatrix[0][7] = 0; - jacobianMatrix[0][8] = 0; - jacobianMatrix[0][9] = 0; - jacobianMatrix[0][10] = 0; - jacobianMatrix[0][11] = 0; - jacobianMatrix[1][0] = (Cf*p0*p1*Sqrt(T0/T1)*dxLimit((x0 - xv)/(-1 \ -+ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ -p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)))/(-1 + x0); - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = 0; - jacobianMatrix[1][6] = 0; - jacobianMatrix[1][7] = 0; - jacobianMatrix[1][8] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ -x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ -Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ -Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ -Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); - jacobianMatrix[1][9] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ -x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ -+ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ -Cf*p0*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[1][10] = 0; - jacobianMatrix[1][11] = 0; - jacobianMatrix[2][0] = (Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 - xv)/(-1 \ -+ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ -p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)))/(-1 + x0); - jacobianMatrix[2][1] = 0; - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = 0; - jacobianMatrix[2][6] = 0; - jacobianMatrix[2][7] = 0; - jacobianMatrix[2][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ -x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ -Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ -Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ -Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - \ -Cf*p0*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[2][9] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ -x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ -+ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); - jacobianMatrix[2][10] = 0; - jacobianMatrix[2][11] = 0; - jacobianMatrix[3][0] = -((Cf*p0*p3*Sqrt(T0/T3)*dxLimit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = 0; - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[3][6] = 0; - jacobianMatrix[3][7] = 0; - jacobianMatrix[3][8] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + \ -x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ -+ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ -p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ -Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))); - jacobianMatrix[3][9] = 0; - jacobianMatrix[3][10] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 \ -+ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ -- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ -Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ -p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ -p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))) - \ -Cf*p0*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ -p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ -+ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ -Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); - jacobianMatrix[3][11] = 0; - jacobianMatrix[4][0] = -((Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = 0; - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[4][6] = 0; - jacobianMatrix[4][7] = 0; - jacobianMatrix[4][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + \ -x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ -+ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ -p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ -Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))) - \ -Cf*p0*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ -p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ -+ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ -Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); - jacobianMatrix[4][9] = 0; - jacobianMatrix[4][10] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 \ -+ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ -- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ -Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ -p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ -p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))); - jacobianMatrix[4][11] = 0; - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = cp*(-(T2*onNegative(-(qm12Neg*onNegative(p1 \ -- p2)) + qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - T1*onPositive(p1 \ -- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[5][2] = cp*onNegative(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[5][3] = cp*(-(T2*onNegative(-(qm32Neg*onNegative(-p2 \ -+ p3)) + qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3)) - \ -T3*onPositive(-p2 + p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + \ -qm32Pos*onPositive(-p2 + p3))); - jacobianMatrix[5][4] = cp*onNegative(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3))); - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[5][7] = 0; - jacobianMatrix[5][8] = 0; - jacobianMatrix[5][9] = 0; - jacobianMatrix[5][10] = 0; - jacobianMatrix[5][11] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = cp*onPositive(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[6][2] = -(cp*onNegative(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)))); - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = 0; - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; - jacobianMatrix[6][7] = 0; - jacobianMatrix[6][8] = 0; - jacobianMatrix[6][9] = 0; - jacobianMatrix[6][10] = 0; - jacobianMatrix[6][11] = 0; - jacobianMatrix[7][0] = 0; - jacobianMatrix[7][1] = 0; - jacobianMatrix[7][2] = 0; - jacobianMatrix[7][3] = cp*onPositive(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3))); - jacobianMatrix[7][4] = -(cp*onNegative(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3)))); - jacobianMatrix[7][5] = 0; - jacobianMatrix[7][6] = 0; - jacobianMatrix[7][7] = 1; - jacobianMatrix[7][8] = 0; - jacobianMatrix[7][9] = 0; - jacobianMatrix[7][10] = 0; - jacobianMatrix[7][11] = 0; - jacobianMatrix[8][0] = 0; - jacobianMatrix[8][1] = 0; - jacobianMatrix[8][2] = 0; - jacobianMatrix[8][3] = 0; - jacobianMatrix[8][4] = 0; - jacobianMatrix[8][5] = -Zc2; - jacobianMatrix[8][6] = 0; - jacobianMatrix[8][7] = 0; - jacobianMatrix[8][8] = 1; - jacobianMatrix[8][9] = 0; - jacobianMatrix[8][10] = 0; - jacobianMatrix[8][11] = 0; - jacobianMatrix[9][0] = 0; - jacobianMatrix[9][1] = 0; - jacobianMatrix[9][2] = 0; - jacobianMatrix[9][3] = 0; - jacobianMatrix[9][4] = 0; - jacobianMatrix[9][5] = 0; - jacobianMatrix[9][6] = -Zc1; - jacobianMatrix[9][7] = 0; - jacobianMatrix[9][8] = 0; - jacobianMatrix[9][9] = 1; - jacobianMatrix[9][10] = 0; - jacobianMatrix[9][11] = 0; - jacobianMatrix[10][0] = 0; - jacobianMatrix[10][1] = 0; - jacobianMatrix[10][2] = 0; - jacobianMatrix[10][3] = 0; - jacobianMatrix[10][4] = 0; - jacobianMatrix[10][5] = 0; - jacobianMatrix[10][6] = 0; - jacobianMatrix[10][7] = -Zc3; - jacobianMatrix[10][8] = 0; - jacobianMatrix[10][9] = 0; - jacobianMatrix[10][10] = 1; - jacobianMatrix[10][11] = 0; - jacobianMatrix[11][0] = 0; - jacobianMatrix[11][1] = 0; - jacobianMatrix[11][2] = 0; - jacobianMatrix[11][3] = 0; - jacobianMatrix[11][4] = 0; - jacobianMatrix[11][5] = 0; - jacobianMatrix[11][6] = 0; - jacobianMatrix[11][7] = 0; - jacobianMatrix[11][8] = 0; - jacobianMatrix[11][9] = 0; - jacobianMatrix[11][10] = 0; - jacobianMatrix[11][11] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - xv=stateVark[0]; - qm12Pos=stateVark[1]; - qm12Neg=stateVark[2]; - qm32Pos=stateVark[3]; - qm32Neg=stateVark[4]; - dE2=stateVark[5]; - dE1=stateVark[6]; - dE3=stateVark[7]; - p2=stateVark[8]; - p1=stateVark[9]; - p3=stateVark[10]; - pS=stateVark[11]; - //Expressions - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - } - - //Calculate the delayed parts - delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ -mTimestep*xvref)/(mTimestep + 2*tau); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port PS - (*mpP_pS)=pS; - (*mpP_qmS)=qmS; - (*mpP_dES)=dES; - //outputVariables - (*mpxvref)=xvref; - (*mpxv)=xv; - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPCIVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPCIvalve32.nb b/devPneumatic/PneumaticPCIvalve32.nb deleted file mode 100644 index b2b6a4b..0000000 --- a/devPneumatic/PneumaticPCIvalve32.nb +++ /dev/null @@ -1,1613 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 12.1' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 81832, 1605] -NotebookOptionsPosition[ 78113, 1492] -NotebookOutlinePosition[ 78768, 1514] -CellTagsIndexPosition[ 78725, 1511] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["PCIvalve32", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { - 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9, - 3.8063243197251673`*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, - 3.8054534604791784`*^9}, - ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, - 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, - 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, - 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, - 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, - 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9, - 3.8063179342198133`*^9}, - ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { - 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, - 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, - 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, - 3.8063174798874598`*^9, 3.8063179344945307`*^9}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, - 3.806254000378049*^9}, 3.8062574817317266`*^9, {3.8063243306099396`*^9, - 3.806324349461499*^9}, 3.806324416298551*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "13", ",", "16", ",", "32", ",", - "14.5095156`8.91422786473835"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, - 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { - 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, - 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, - 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, - 3.806317479907439*^9, 3.806317934518506*^9}, - ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, - ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 -oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] -B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI -F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W -@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW -Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM -HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh -4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C -DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN -?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca -lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` -f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ -71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i -CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW -M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 -HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 -bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 -^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V -4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY -J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X -US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 -:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 -0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 -AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 -P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 -00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo -oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo -oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 -W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 -jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 -TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 -NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 -U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 -0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 -00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 -0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 -0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 -0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 -00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 -0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c -0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y -D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 -0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 -00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 -0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F -0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj ->SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 -0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 -0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 -A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 -0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 -Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 -lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 -D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 -h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo -oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 -bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c -0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 -N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 -8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -00000"], "Graphics", - ImageSize->{166., 139.1470588235294}, - ImageMargins->{{89, 0}, {0, - 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "tau", ",", "0.01", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { - 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, - 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "xvref", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xv", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, - 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{ - "1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"S", ",", "100000.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, - 3.8062575891968765`*^9}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, - 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { - 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8062574979430056`*^9, - 3.806257543289231*^9, 3.8062575979768195`*^9, 3.806257629004814*^9, - 3.8062577459551787`*^9, 3.806258402260197*^9, 3.8063171025386972`*^9, - 3.8063174799833612`*^9, 3.806317934602419*^9}, - ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"xine", "=", "xv"}]], "Input"], - -Cell[BoxData["xv"], "Output", - CellChangeTimes->{3.8062574979889574`*^9, 3.806257543335182*^9, - 3.8062575980217733`*^9, 3.806257629055762*^9, 3.8062577459981346`*^9, - 3.8062584023161397`*^9, 3.806317102587647*^9, 3.806317480033309*^9, - 3.8063179346543655`*^9}] -}, Open ]], - -Cell["The valve capacities are limited between 0 and Cf..", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { - 3.8054550231051493`*^9, 3.805455049024413*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.806316882280901*^9, 3.8063169103988905`*^9}}], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}, {3.8051086667297983`*^9, - 3.8051086817684207`*^9}, {3.8051089737576003`*^9, - 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}}], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRANALEEkLk= - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", - CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, - 3.805109082009644*^9, 3.805454147227625*^9}, - ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"xvref", "\[Equal]", - RowBox[{"-", - RowBox[{"(", - RowBox[{ - RowBox[{"2", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"pS", "-", "pso"}], - RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], - "]"}]}], "-", "1"}], ")"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, - 3.8051083173812647`*^9}, {3.806316914863285*^9, 3.806316971005375*^9}, { - 3.8063170012062225`*^9, 3.806317026109534*^9}, {3.806317473738803*^9, - 3.806317474329193*^9}, {3.80631791047431*^9, 3.8063179271900654`*^9}, { - 3.806324390971676*^9, 3.806324395444063*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}}, - ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9, - 3.8062547337555723`*^9}, - ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"tau", " ", - RowBox[{"der", "[", "xv", "]"}]}], "+", "xv"}], "\[Equal]", - "xvref"}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { - 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, - 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}, { - 3.806254165385564*^9, 3.806254242827421*^9}, 3.806254613342885*^9, - 3.8062547037359357`*^9, 3.8062576255773497`*^9, 3.806317064546909*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050178706124625`*^9, - 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"pS", "==", - RowBox[{"(", - RowBox[{"cS", " ", "+", " ", - RowBox[{"ZcS", " ", "dES"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}, {3.806254671157713*^9, 3.806254686528556*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "xv", ",", "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", - "dE2", ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3", ",", - "pS"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}, {3.8062546920362015`*^9, 3.8062547113088818`*^9}}, - ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection", - ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,393,84, - 16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.806317935472522*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ -\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ -\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ -\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\ -\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"6\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.666667\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticPCvalve32\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"Pn\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"32\\\\\\\ -\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,393, - 85,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.80631793605592*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,393,86,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.8063179360978765`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,393,87,16373258516650437284, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.806317936140833*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,393,88,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.8063179362337365`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,393,89,16373258516650437284, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.806317936261709*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,393,90,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.80631793628868*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,393,91,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.806317936313654*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,393,92, - 16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.8063179363406267`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,393,93,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9, - 3.806317936381584*^9}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData["file"], "Input", - CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticPCvalve32.hpp\"\>"], "Output", - CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, - 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, - 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9, - 3.806317936501461*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1301, 757}, -WindowMargins->{{Automatic, -1809}, {Automatic, 77}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 411, 6, 70, "Section"], -Cell[994, 30, 691, 10, 30, "Output"], -Cell[CellGroupData[{ -Cell[1710, 44, 484, 11, 30, "Input"], -Cell[2197, 57, 1957, 27, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[4191, 89, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4549, 97, 750, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[5314, 114, 483, 7, 30, "Output"], -Cell[CellGroupData[{ -Cell[5822, 125, 1803, 38, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7628, 165, 2302, 34, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9933, 201, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[10320, 213, 98, 0, 49, "Subsection"], -Cell[10421, 215, 602, 9, 49, "Text"], -Cell[11026, 226, 18611, 232, 156, "Graphics"], -Cell[29640, 460, 3215, 67, 272, "Input"], -Cell[32858, 529, 2339, 50, 202, "Input"], -Cell[35200, 581, 1742, 31, 126, "Input"], -Cell[CellGroupData[{ -Cell[36967, 616, 200, 3, 30, "Input"], -Cell[37170, 621, 1287, 18, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[38506, 645, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[CellGroupData[{ -Cell[38676, 651, 53, 1, 30, "Input"], -Cell[38732, 654, 266, 4, 30, "Output"] -}, Open ]], -Cell[39013, 661, 394, 5, 30, "Text"], -Cell[39410, 668, 94, 1, 30, "Input"], -Cell[39507, 671, 1368, 32, 90, "Input"], -Cell[40878, 705, 262, 6, 50, "Input"], -Cell[41143, 713, 213, 4, 30, "Text"], -Cell[41359, 719, 191, 4, 30, "Input"], -Cell[41553, 725, 1090, 24, 74, "Input"], -Cell[42646, 751, 1041, 23, 74, "Input"], -Cell[43690, 776, 1421, 42, 52, "Input"], -Cell[45114, 820, 1140, 24, 74, "Input"], -Cell[46257, 846, 1090, 24, 74, "Input"], -Cell[47350, 872, 2086, 48, 52, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[49473, 925, 159, 3, 49, "Subsection"], -Cell[49635, 930, 246, 5, 30, "Input"], -Cell[49884, 937, 1355, 30, 131, "Input"], -Cell[51242, 969, 293, 4, 30, "Text"], -Cell[51538, 975, 2174, 55, 107, "Input"], -Cell[53715, 1032, 4252, 73, 350, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[58004, 1110, 162, 3, 49, "Subsection"], -Cell[58169, 1115, 1637, 34, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[59843, 1154, 174, 3, 49, "Subsection"], -Cell[60020, 1159, 1250, 20, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[61307, 1184, 92, 1, 49, "Subsection"], -Cell[61402, 1187, 146, 2, 30, "Text"], -Cell[61551, 1191, 1092, 21, 145, "Input"], -Cell[CellGroupData[{ -Cell[62668, 1216, 122, 2, 30, "Input"], -Cell[62793, 1220, 569, 11, 21, "Message"], -Cell[63365, 1233, 9907, 142, 130, "Message"], -Cell[73275, 1377, 459, 9, 21, "Message"], -Cell[73737, 1388, 599, 12, 21, "Message"], -Cell[74339, 1402, 459, 9, 21, "Message"], -Cell[74801, 1413, 599, 12, 21, "Message"], -Cell[75403, 1427, 456, 9, 21, "Message"], -Cell[75862, 1438, 529, 10, 21, "Message"], -Cell[76394, 1450, 631, 12, 21, "Message"], -Cell[77028, 1464, 532, 10, 21, "Message"] -}, Open ]], -Cell[CellGroupData[{ -Cell[77597, 1479, 97, 1, 30, "Input"], -Cell[77697, 1482, 376, 5, 30, "Output"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPCIvalve32.svg b/devPneumatic/PneumaticPCIvalve32.svg deleted file mode 100644 index 3b61c49..0000000 --- a/devPneumatic/PneumaticPCIvalve32.svg +++ /dev/null @@ -1,1346 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPCIvalve32.xml b/devPneumatic/PneumaticPCIvalve32.xml deleted file mode 100644 index 531bd29..0000000 --- a/devPneumatic/PneumaticPCIvalve32.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - Pnenumatic pressure controlled inverted 3/2 valve. - PneumaticPCIvalve32.nb - PneumaticPCIvalve32.pdf - - - - - - - - - - diff --git a/devPneumatic/PneumaticPCvalve32.hpp b/devPneumatic/PneumaticPCvalve32.hpp deleted file mode 100644 index eaf5a14..0000000 --- a/devPneumatic/PneumaticPCvalve32.hpp +++ /dev/null @@ -1,809 +0,0 @@ -#ifndef PNEUMATICPCVALVE32_HPP_INCLUDED -#define PNEUMATICPCVALVE32_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPCvalve32.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 13 Aug 2020 16:32:15 -//! @brief Pneumatic pressure controlled 32-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticPCvalve32.nb*/ - -using namespace hopsan; - -class PneumaticPCvalve32 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double pso; - double psmax; - double tau; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpPS; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[12]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port PS variable - double pS; - double qmS; - double TS; - double dES; - double cS; - double ZcS; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double xvref; - double xv; - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double Ng32e; - double Ng12e; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port PS pointer - double *mpP_pS; - double *mpP_qmS; - double *mpP_TS; - double *mpP_dES; - double *mpP_cS; - double *mpP_ZcS; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mppso; - double *mppsmax; - double *mptau; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpxvref; - double *mpxv; - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpNg32e; - double *mpNg12e; - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPCvalve32(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(12,12); - systemEquations.create(12); - delayedPart.create(13,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpPS=addPowerPort("PS","NodePneumatic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ -0.528,&mpBf); - addInputVariable("Cf", "C, ISO flow coefficient", "", \ -1.e-13,&mpCf); - addInputVariable("x0", "Relative overlap", "", 0.1,&mpx0); - addInputVariable("pso", "Opening pressure", "Pa", \ -800000.,&mppso); - addInputVariable("psmax", "Fully open pressure", "Pa", \ -900000.,&mppsmax); - addInputVariable("tau", "valve time constant", "s", 0.01,&mptau); - addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); - addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); - //Add outputVariables to the component - addOutputVariable("xvref","Ref normalized spool \ -position","",0.,&mpxvref); - addOutputVariable("xv","Normalized spool position","",0.,&mpxv); - addOutputVariable("qm12Pos","Internal \ -variable","kg/s",0.,&mpqm12Pos); - addOutputVariable("qm12Neg","Internal \ -variable","kg/s",0.,&mpqm12Neg); - addOutputVariable("qm32Pos","Internal \ -variable","kg/s",0.,&mpqm32Pos); - addOutputVariable("qm32Neg","Internal \ -variable","kg/s",0.,&mpqm32Neg); - addOutputVariable("Ng32e","Internal variable","",0.,&mpNg32e); - addOutputVariable("Ng12e","Internal variable","",0.,&mpNg12e); - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,12); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port P2 - mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); - mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); - mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); - mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); - mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); - mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); - //Port P3 - mpP_p3=getSafeNodeDataPtr(mpP3, NodePneumatic::Pressure); - mpP_qm3=getSafeNodeDataPtr(mpP3, NodePneumatic::MassFlow); - mpP_T3=getSafeNodeDataPtr(mpP3, NodePneumatic::Temperature); - mpP_dE3=getSafeNodeDataPtr(mpP3, NodePneumatic::EnergyFlow); - mpP_c3=getSafeNodeDataPtr(mpP3, NodePneumatic::WaveVariable); - mpP_Zc3=getSafeNodeDataPtr(mpP3, NodePneumatic::CharImpedance); - //Port PS - mpP_pS=getSafeNodeDataPtr(mpPS, NodePneumatic::Pressure); - mpP_qmS=getSafeNodeDataPtr(mpPS, NodePneumatic::MassFlow); - mpP_TS=getSafeNodeDataPtr(mpPS, NodePneumatic::Temperature); - mpP_dES=getSafeNodeDataPtr(mpPS, NodePneumatic::EnergyFlow); - mpP_cS=getSafeNodeDataPtr(mpPS, NodePneumatic::WaveVariable); - mpP_ZcS=getSafeNodeDataPtr(mpPS, NodePneumatic::CharImpedance); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - p2 = (*mpP_p2); - qm2 = (*mpP_qm2); - T2 = (*mpP_T2); - dE2 = (*mpP_dE2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port P3 - p3 = (*mpP_p3); - qm3 = (*mpP_qm3); - T3 = (*mpP_T3); - dE3 = (*mpP_dE3); - c3 = (*mpP_c3); - Zc3 = (*mpP_Zc3); - //Port PS - pS = (*mpP_pS); - qmS = (*mpP_qmS); - TS = (*mpP_TS); - dES = (*mpP_dES); - cS = (*mpP_cS); - ZcS = (*mpP_ZcS); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - x0 = (*mpx0); - pso = (*mppso); - psmax = (*mppsmax); - tau = (*mptau); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //Read outputVariables from nodes - xvref = (*mpxvref); - xv = (*mpxv); - qm12Pos = (*mpqm12Pos); - qm12Neg = (*mpqm12Neg); - qm32Pos = (*mpqm32Pos); - qm32Neg = (*mpqm32Neg); - Ng32e = (*mpNg32e); - Ng12e = (*mpNg12e); - -//==This code has been autogenerated using Compgen== - - //LocalExpressions - xvref = -1 + 2*limit((pS - pso)/(psmax - pso),0,1); - cp = cv + R; - - //Initialize delays - delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ -mTimestep*xvref)/(mTimestep + 2*tau); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(12); - Vec stateVark(12); - Vec deltaStateVar(12); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - T2 = (*mpP_T2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port P3 - T3 = (*mpP_T3); - c3 = (*mpP_c3); - Zc3 = (*mpP_Zc3); - //Port PS - TS = (*mpP_TS); - cS = (*mpP_cS); - ZcS = (*mpP_ZcS); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - x0 = (*mpx0); - pso = (*mppso); - psmax = (*mppsmax); - tau = (*mptau); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //LocalExpressions - xvref = -1 + 2*limit((pS - pso)/(psmax - pso),0,1); - cp = cv + R; - - //Initializing variable vector for Newton-Raphson - stateVark[0] = xv; - stateVark[1] = qm12Pos; - stateVark[2] = qm12Neg; - stateVark[3] = qm32Pos; - stateVark[4] = qm32Neg; - stateVark[5] = dE2; - stateVark[6] = dE1; - stateVark[7] = dE3; - stateVark[8] = p2; - stateVark[9] = p1; - stateVark[10] = p3; - stateVark[11] = pS; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //PCvalve32 - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =xv - (mTimestep*xvref)/(mTimestep + 2*tau) + \ -delayedPart[1][1]; - systemEquations[1] =qm12Pos - Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - \ -xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ -onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ -p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[2] =qm12Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - \ -xv)/(-1 + x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ -onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ -p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[3] =qm32Pos - Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))); - systemEquations[4] =qm32Neg - Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))); - systemEquations[5] =dE2 + \ -cp*(-(qm12Pos*T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - \ -qm32Pos*T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + \ -qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3) - qm12Pos*T1*onPositive(p1 \ -- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + qm12Neg*onNegative(p1 - p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - \ -p2)) + qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - \ -p2)) + qm12Pos*onPositive(p1 - p2))) - qm32Pos*T3*onPositive(-p2 + \ -p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + qm32Neg*onNegative(-p2 + p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + \ -p3)) + qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 \ -+ p3)) + qm32Pos*onPositive(-p2 + p3)))); - systemEquations[6] =dE1 - cp*(qm12Neg*onNegative(p1 - p2) - \ -qm12Pos*onPositive(p1 - p2))*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + \ -qm12Pos*onPositive(p1 - p2))); - systemEquations[7] =dE3 - cp*(qm32Neg*onNegative(-p2 + p3) - \ -qm32Pos*onPositive(-p2 + p3))*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) \ -+ qm32Pos*onPositive(-p2 + p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + \ -p3)) + qm32Pos*onPositive(-p2 + p3))); - systemEquations[8] =-c2 + p2 - dE2*Zc2; - systemEquations[9] =-c1 + p1 - dE1*Zc1; - systemEquations[10] =-c3 + p3 - dE3*Zc3; - systemEquations[11] =-cS + pS - dES*ZcS; - - //Jacobian matrix - jacobianMatrix[0][0] = 1; - jacobianMatrix[0][1] = 0; - jacobianMatrix[0][2] = 0; - jacobianMatrix[0][3] = 0; - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = 0; - jacobianMatrix[0][6] = 0; - jacobianMatrix[0][7] = 0; - jacobianMatrix[0][8] = 0; - jacobianMatrix[0][9] = 0; - jacobianMatrix[0][10] = 0; - jacobianMatrix[0][11] = 0; - jacobianMatrix[1][0] = (Cf*p0*p1*Sqrt(T0/T1)*dxLimit((x0 - xv)/(-1 \ -+ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ -p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)))/(-1 + x0); - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = 0; - jacobianMatrix[1][6] = 0; - jacobianMatrix[1][7] = 0; - jacobianMatrix[1][8] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ -x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ -Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ -Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ -Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); - jacobianMatrix[1][9] = -(Cf*p0*p1*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + \ -x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ -+ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ -Cf*p0*Sqrt(T0/T1)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[1][10] = 0; - jacobianMatrix[1][11] = 0; - jacobianMatrix[2][0] = (Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 - xv)/(-1 \ -+ x0),0,1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + \ -p2/p1)*onPositive(p1 - p2) + onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps) + onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)))/(-1 + x0); - jacobianMatrix[2][1] = 0; - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = 0; - jacobianMatrix[2][6] = 0; - jacobianMatrix[2][7] = 0; - jacobianMatrix[2][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ -x0),0,1)*(((2*Bf*(p1 - Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - \ -Bf*p2,2))/(Power(-1 + Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - \ -Bf*p2,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2) - (2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - \ -Power(-(Bf*p1) + p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps)*onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - \ -Cf*p0*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + x0),0,1)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[2][9] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 - xv)/(-1 + \ -x0),0,1)*((-2*(p1 - Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 \ -+ Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); - jacobianMatrix[2][10] = 0; - jacobianMatrix[2][11] = 0; - jacobianMatrix[3][0] = -((Cf*p0*p3*Sqrt(T0/T3)*dxLimit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = 0; - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[3][6] = 0; - jacobianMatrix[3][7] = 0; - jacobianMatrix[3][8] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + \ -x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ -+ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ -p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ -Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))); - jacobianMatrix[3][9] = 0; - jacobianMatrix[3][10] = -(Cf*p0*p3*Sqrt(T0/T3)*limit((x0 + xv)/(-1 \ -+ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ -- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ -Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ -p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ -p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))) - \ -Cf*p0*Sqrt(T0/T3)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ -p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ -+ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ -Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); - jacobianMatrix[3][11] = 0; - jacobianMatrix[4][0] = -((Cf*p0*p2*Sqrt(T0/T2)*dxLimit((x0 + \ -xv)/(-1 + x0),0,1)*(onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 + \ -Bf,2)*Power(p3,2)),eps))))/(-1 + x0)); - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = 0; - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[4][6] = 0; - jacobianMatrix[4][7] = 0; - jacobianMatrix[4][8] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + \ -x0),0,1)*((-2*(p2 - Bf*p3)*dxSignedSquareL(1 - Power(p2 - Bf*p3,2)/(Power(-1 \ -+ Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + p2/p3)*onPositive(-p2 + \ -p3))/(Power(-1 + Bf,2)*Power(p3,2)) + ((2*Bf*(-(Bf*p2) + p3))/(Power(-1 + \ -Bf,2)*Power(p2,2)) + (2*Power(-(Bf*p2) + p3,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(-(Bf*p2) + p3,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + p3)*onPositive(-Bf + p3/p2))) - \ -Cf*p0*Sqrt(T0/T2)*limit((x0 + xv)/(-1 + x0),0,1)*(onNegative(-p2 + \ -p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf + p3/p2)*signedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)) + onPositive(-p2 \ -+ p3)*(onNegative(-Bf + p2/p3) + onPositive(-Bf + p2/p3)*signedSquareL(1 - \ -Power(p2 - Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps))); - jacobianMatrix[4][9] = 0; - jacobianMatrix[4][10] = -(Cf*p0*p2*Sqrt(T0/T2)*limit((x0 + xv)/(-1 \ -+ x0),0,1)*(((2*Bf*(p2 - Bf*p3))/(Power(-1 + Bf,2)*Power(p3,2)) + (2*Power(p2 \ -- Bf*p3,2))/(Power(-1 + Bf,2)*Power(p3,3)))*dxSignedSquareL(1 - Power(p2 - \ -Bf*p3,2)/(Power(-1 + Bf,2)*Power(p3,2)),eps)*onPositive(-Bf + \ -p2/p3)*onPositive(-p2 + p3) - (2*(-(Bf*p2) + p3)*dxSignedSquareL(1 - \ -Power(-(Bf*p2) + p3,2)/(Power(-1 + Bf,2)*Power(p2,2)),eps)*onNegative(-p2 + \ -p3)*onPositive(-Bf + p3/p2))/(Power(-1 + Bf,2)*Power(p2,2)))); - jacobianMatrix[4][11] = 0; - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = cp*(-(T2*onNegative(-(qm12Neg*onNegative(p1 \ -- p2)) + qm12Pos*onPositive(p1 - p2))*onPositive(p1 - p2)) - T1*onPositive(p1 \ -- p2)*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[5][2] = cp*onNegative(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[5][3] = cp*(-(T2*onNegative(-(qm32Neg*onNegative(-p2 \ -+ p3)) + qm32Pos*onPositive(-p2 + p3))*onPositive(-p2 + p3)) - \ -T3*onPositive(-p2 + p3)*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + \ -qm32Pos*onPositive(-p2 + p3))); - jacobianMatrix[5][4] = cp*onNegative(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3))); - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[5][7] = 0; - jacobianMatrix[5][8] = 0; - jacobianMatrix[5][9] = 0; - jacobianMatrix[5][10] = 0; - jacobianMatrix[5][11] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = cp*onPositive(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2))); - jacobianMatrix[6][2] = -(cp*onNegative(p1 - \ -p2)*(T2*onNegative(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)) + T1*onPositive(-(qm12Neg*onNegative(p1 - p2)) + qm12Pos*onPositive(p1 - \ -p2)))); - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = 0; - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; - jacobianMatrix[6][7] = 0; - jacobianMatrix[6][8] = 0; - jacobianMatrix[6][9] = 0; - jacobianMatrix[6][10] = 0; - jacobianMatrix[6][11] = 0; - jacobianMatrix[7][0] = 0; - jacobianMatrix[7][1] = 0; - jacobianMatrix[7][2] = 0; - jacobianMatrix[7][3] = cp*onPositive(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3))); - jacobianMatrix[7][4] = -(cp*onNegative(-p2 + \ -p3)*(T2*onNegative(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 + \ -p3)) + T3*onPositive(-(qm32Neg*onNegative(-p2 + p3)) + qm32Pos*onPositive(-p2 \ -+ p3)))); - jacobianMatrix[7][5] = 0; - jacobianMatrix[7][6] = 0; - jacobianMatrix[7][7] = 1; - jacobianMatrix[7][8] = 0; - jacobianMatrix[7][9] = 0; - jacobianMatrix[7][10] = 0; - jacobianMatrix[7][11] = 0; - jacobianMatrix[8][0] = 0; - jacobianMatrix[8][1] = 0; - jacobianMatrix[8][2] = 0; - jacobianMatrix[8][3] = 0; - jacobianMatrix[8][4] = 0; - jacobianMatrix[8][5] = -Zc2; - jacobianMatrix[8][6] = 0; - jacobianMatrix[8][7] = 0; - jacobianMatrix[8][8] = 1; - jacobianMatrix[8][9] = 0; - jacobianMatrix[8][10] = 0; - jacobianMatrix[8][11] = 0; - jacobianMatrix[9][0] = 0; - jacobianMatrix[9][1] = 0; - jacobianMatrix[9][2] = 0; - jacobianMatrix[9][3] = 0; - jacobianMatrix[9][4] = 0; - jacobianMatrix[9][5] = 0; - jacobianMatrix[9][6] = -Zc1; - jacobianMatrix[9][7] = 0; - jacobianMatrix[9][8] = 0; - jacobianMatrix[9][9] = 1; - jacobianMatrix[9][10] = 0; - jacobianMatrix[9][11] = 0; - jacobianMatrix[10][0] = 0; - jacobianMatrix[10][1] = 0; - jacobianMatrix[10][2] = 0; - jacobianMatrix[10][3] = 0; - jacobianMatrix[10][4] = 0; - jacobianMatrix[10][5] = 0; - jacobianMatrix[10][6] = 0; - jacobianMatrix[10][7] = -Zc3; - jacobianMatrix[10][8] = 0; - jacobianMatrix[10][9] = 0; - jacobianMatrix[10][10] = 1; - jacobianMatrix[10][11] = 0; - jacobianMatrix[11][0] = 0; - jacobianMatrix[11][1] = 0; - jacobianMatrix[11][2] = 0; - jacobianMatrix[11][3] = 0; - jacobianMatrix[11][4] = 0; - jacobianMatrix[11][5] = 0; - jacobianMatrix[11][6] = 0; - jacobianMatrix[11][7] = 0; - jacobianMatrix[11][8] = 0; - jacobianMatrix[11][9] = 0; - jacobianMatrix[11][10] = 0; - jacobianMatrix[11][11] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - xv=stateVark[0]; - qm12Pos=stateVark[1]; - qm12Neg=stateVark[2]; - qm32Pos=stateVark[3]; - qm32Neg=stateVark[4]; - dE2=stateVark[5]; - dE1=stateVark[6]; - dE3=stateVark[7]; - p2=stateVark[8]; - p1=stateVark[9]; - p3=stateVark[10]; - pS=stateVark[11]; - //Expressions - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - } - - //Calculate the delayed parts - delayParts1[1] = (mTimestep*xv - 2*tau*xv - \ -mTimestep*xvref)/(mTimestep + 2*tau); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port PS - (*mpP_pS)=pS; - (*mpP_qmS)=qmS; - (*mpP_dES)=dES; - //outputVariables - (*mpxvref)=xvref; - (*mpxv)=xv; - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPCVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPCvalve32.nb b/devPneumatic/PneumaticPCvalve32.nb deleted file mode 100644 index 56b21eb..0000000 --- a/devPneumatic/PneumaticPCvalve32.nb +++ /dev/null @@ -1,1609 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 12.1' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 81726, 1601] -NotebookOptionsPosition[ 77931, 1486] -NotebookOutlinePosition[ 78586, 1508] -CellTagsIndexPosition[ 78543, 1505] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["PCvalve32", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { - 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, - 3.8054534604791784`*^9}, - ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, - 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, - 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, - 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, - 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, - 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9}, - ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { - 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, - 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, - 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, - 3.8063174798874598`*^9}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, - 3.806254000378049*^9}, 3.8062574817317266`*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "13", ",", "16", ",", "24", ",", - "39.9004464`9.353552637319469"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, - 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { - 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, - 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, - 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, - 3.806317479907439*^9}, - ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, - ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 -oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] -B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI -F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W -@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW -Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM -HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh -4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C -DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN -?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca -lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` -f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ -71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i -CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW -M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 -HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 -bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 -^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V -4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY -J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X -US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 -:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 -0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 -AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 -P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 -00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo -oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo -oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 -W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 -jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 -TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 -NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 -U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 -0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 -00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 -0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 -0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 -0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 -00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 -0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c -0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y -D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 -0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 -00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 -0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F -0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj ->SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 -0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 -0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 -A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 -0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 -Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 -lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 -D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 -h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo -oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 -bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c -0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 -N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 -8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -00000"], "Graphics", - ImageSize->{166., 139.1470588235294}, - ImageMargins->{{89, 0}, {0, - 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "tau", ",", "0.01", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { - 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, - 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "xvref", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xv", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, - 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{ - "1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"S", ",", "100000.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, - 3.8062575891968765`*^9}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, - 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { - 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8062574979430056`*^9, - 3.806257543289231*^9, 3.8062575979768195`*^9, 3.806257629004814*^9, - 3.8062577459551787`*^9, 3.806258402260197*^9, 3.8063171025386972`*^9, - 3.8063174799833612`*^9}, - ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], - -Cell[BoxData[ - RowBox[{"xine", "=."}]], "Input", - CellChangeTimes->{{3.80625457134412*^9, 3.8062545717177343`*^9}}], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"xine", "=", "xv"}]], "Input"], - -Cell[BoxData["xv"], "Output", - CellChangeTimes->{3.8062574979889574`*^9, 3.806257543335182*^9, - 3.8062575980217733`*^9, 3.806257629055762*^9, 3.8062577459981346`*^9, - 3.8062584023161397`*^9, 3.806317102587647*^9, 3.806317480033309*^9}] -}, Open ]], - -Cell["The valve capacities are limited between 0 and Cf..", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { - 3.8054550231051493`*^9, 3.805455049024413*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.806316882280901*^9, 3.8063169103988905`*^9}}], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}, {3.8051086667297983`*^9, - 3.8051086817684207`*^9}, {3.8051089737576003`*^9, - 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}}], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRANALEEkLk= - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", - CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, - 3.805109082009644*^9, 3.805454147227625*^9}, - ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"xvref", "\[Equal]", - RowBox[{ - RowBox[{"2", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"pS", "-", "pso"}], - RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], - "]"}]}], "-", "1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, - 3.8051083173812647`*^9}, {3.806316914863285*^9, 3.806316971005375*^9}, { - 3.8063170012062225`*^9, 3.806317026109534*^9}, {3.806317473738803*^9, - 3.806317474329193*^9}, {3.80631791047431*^9, 3.8063179271900654`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}}, - ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9, - 3.8062547337555723`*^9}, - ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"tau", " ", - RowBox[{"der", "[", "xv", "]"}]}], "+", "xv"}], "\[Equal]", - "xvref"}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { - 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, - 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}, { - 3.806254165385564*^9, 3.806254242827421*^9}, 3.806254613342885*^9, - 3.8062547037359357`*^9, 3.8062576255773497`*^9, 3.806317064546909*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050178706124625`*^9, - 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"pS", "==", - RowBox[{"(", - RowBox[{"cS", " ", "+", " ", - RowBox[{"ZcS", " ", "dES"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}, {3.806254671157713*^9, 3.806254686528556*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "xv", ",", "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", - "dE2", ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3", ",", - "pS"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}, {3.8062546920362015`*^9, 3.8062547113088818`*^9}}, - ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection", - ExpressionUUID -> "10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,349,74, - 16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317480841476*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ -\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ -\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ -\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\ -\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"6\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.666667\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticPCvalve32\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"Pn\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"32\\\\\\\ -\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticPCvalve32.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6000000000000001`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.777778\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.888889\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,349, - 75,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174811241837`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,349,76,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481165142*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,349,77,16373258516650437284, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174811911154`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,349,78,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174812160892`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,349,79,16373258516650437284, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481243061*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,349,80,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174812820215`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,349,81,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481309993*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,349,82, - 16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.806317481347953*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,349,83,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.806257499007907*^9, 3.806257543940558*^9, - 3.806257598634142*^9, 3.806257629773022*^9, 3.806257746580534*^9, - 3.8062584030943365`*^9, 3.80631710338982*^9, 3.8063174813789215`*^9}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData["file"], "Input", - CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticPCvalve32.hpp\"\>"], "Output", - CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, - 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, - 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1301, 757}, -WindowMargins->{{Automatic, -1809}, {Automatic, 77}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 382, 5, 70, "Section"], -Cell[965, 29, 691, 10, 30, "Output"], -Cell[CellGroupData[{ -Cell[1681, 43, 484, 11, 30, "Input"], -Cell[2168, 56, 1929, 26, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[4134, 87, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4492, 95, 750, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[5257, 112, 459, 7, 30, "Output"], -Cell[CellGroupData[{ -Cell[5741, 123, 1716, 36, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7460, 161, 2281, 34, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9744, 197, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[10131, 209, 98, 0, 49, "Subsection"], -Cell[10232, 211, 602, 9, 49, "Text"], -Cell[10837, 222, 18611, 232, 156, "Graphics"], -Cell[29451, 456, 3215, 67, 272, "Input"], -Cell[32669, 525, 2339, 50, 202, "Input"], -Cell[35011, 577, 1742, 31, 126, "Input"], -Cell[CellGroupData[{ -Cell[36778, 612, 200, 3, 30, "Input"], -Cell[36981, 617, 1265, 18, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[38295, 641, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[38443, 645, 323, 7, 30, "Input"], -Cell[38769, 654, 115, 2, 30, "Input"], -Cell[CellGroupData[{ -Cell[38909, 660, 53, 1, 30, "Input"], -Cell[38965, 663, 239, 3, 30, "Output"] -}, Open ]], -Cell[39219, 669, 394, 5, 30, "Text"], -Cell[39616, 676, 94, 1, 30, "Input"], -Cell[39713, 679, 1368, 32, 90, "Input"], -Cell[41084, 713, 262, 6, 50, "Input"], -Cell[41349, 721, 213, 4, 30, "Text"], -Cell[41565, 727, 191, 4, 30, "Input"], -Cell[41759, 733, 1090, 24, 74, "Input"], -Cell[42852, 759, 1041, 23, 74, "Input"], -Cell[43896, 784, 1421, 42, 52, "Input"], -Cell[45320, 828, 1140, 24, 74, "Input"], -Cell[46463, 854, 1090, 24, 74, "Input"], -Cell[47556, 880, 2086, 48, 52, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[49679, 933, 159, 3, 49, "Subsection"], -Cell[49841, 938, 246, 5, 30, "Input"], -Cell[50090, 945, 1237, 27, 131, "Input"], -Cell[51330, 974, 293, 4, 30, "Text"], -Cell[51626, 980, 2174, 55, 107, "Input"], -Cell[53803, 1037, 4252, 73, 350, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[58092, 1115, 162, 3, 49, "Subsection"], -Cell[58257, 1120, 1637, 34, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[59931, 1159, 174, 3, 49, "Subsection"], -Cell[60108, 1164, 1250, 20, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[61395, 1189, 92, 1, 49, "Subsection"], -Cell[61490, 1192, 146, 2, 30, "Text"], -Cell[61639, 1196, 1092, 21, 145, "Input"], -Cell[CellGroupData[{ -Cell[62756, 1221, 122, 2, 30, "Input"], -Cell[62881, 1225, 544, 10, 21, "Message"], -Cell[63428, 1237, 9885, 141, 130, "Message"], -Cell[73316, 1380, 432, 8, 21, "Message"], -Cell[73751, 1390, 576, 11, 21, "Message"], -Cell[74330, 1403, 434, 8, 21, "Message"], -Cell[74767, 1413, 574, 11, 21, "Message"], -Cell[75344, 1426, 434, 8, 21, "Message"], -Cell[75781, 1436, 504, 9, 21, "Message"], -Cell[76288, 1447, 604, 11, 21, "Message"], -Cell[76895, 1460, 509, 9, 21, "Message"] -}, Open ]], -Cell[CellGroupData[{ -Cell[77441, 1474, 97, 1, 30, "Input"], -Cell[77541, 1477, 350, 4, 30, "Output"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPCvalve32.svg b/devPneumatic/PneumaticPCvalve32.svg deleted file mode 100644 index 1a3c7ee..0000000 --- a/devPneumatic/PneumaticPCvalve32.svg +++ /dev/null @@ -1,1199 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPCvalve32.xml b/devPneumatic/PneumaticPCvalve32.xml deleted file mode 100644 index 8f31d61..0000000 --- a/devPneumatic/PneumaticPCvalve32.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - Pnenumatic pressure controlled 3/2 valve. - PneumaticPCvalve32.nb - PneumaticPCvalve32.pdf - - - - - - - - - - diff --git a/devPneumatic/PneumaticPCvalve52.svg b/devPneumatic/PneumaticPCvalve52.svg deleted file mode 100644 index 18258af..0000000 --- a/devPneumatic/PneumaticPCvalve52.svg +++ /dev/null @@ -1,1055 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPiston1.xml b/devPneumatic/PneumaticPiston1.xml deleted file mode 100644 index 170a842..0000000 --- a/devPneumatic/PneumaticPiston1.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - This is a Q-type pneumatic linear actuator with viscous and dry friction. - pistonqhelp.svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPistonMass.hpp b/devPneumatic/PneumaticPistonMass.hpp deleted file mode 100644 index 4842282..0000000 --- a/devPneumatic/PneumaticPistonMass.hpp +++ /dev/null @@ -1,529 +0,0 @@ -#ifndef PNEUMATICPISTONMASS_HPP_INCLUDED -#define PNEUMATICPISTONMASS_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPistonMass.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Fri 7 Aug 2020 18:21:56 -//! @brief Pneumatic piston with spring return -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticPistonMass.nb*/ - -using namespace hopsan; - -class PneumaticPistonMass : public ComponentQ -{ -private: - double A1; - double A2; - double SL; - double Cip; - double bp; - double ks; - double f0; - double fc; - double bfc; - double xmin; - double xmax; - double mL; - double bL; - double patm; - double Tatm; - double R; - double cv; - Port *mpP1; - Port *mpP2; - Port *mpPL; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[9]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port PL variable - double fL; - double xL; - double vL; - double cL; - double ZcL; - double eqMassL; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port PL pointer - double *mpP_fL; - double *mpP_xL; - double *mpP_vL; - double *mpP_cL; - double *mpP_ZcL; - double *mpP_eqMassL; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpA1; - double *mpA2; - double *mpSL; - double *mpCip; - double *mpbp; - double *mpks; - double *mpf0; - double *mpfc; - double *mpbfc; - double *mpxmin; - double *mpxmax; - double *mpmL; - double *mpbL; - double *mppatm; - double *mpTatm; - double *mpR; - double *mpcv; - //outputVariables pointers - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart20; - Delay mDelayedPart21; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPistonMass(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(9,9); - systemEquations.create(9); - delayedPart.create(10,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpPL=addPowerPort("PL","NodeMechanic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); - addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); - addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); - addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); - addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ -30.,&mpbp); - addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); - addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); - addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); - addInputVariable("bfc", "Numerical friction factor.", "", \ -1.,&mpbfc); - addInputVariable("xmin", "Limitation on stroke", "m", \ -0.,&mpxmin); - addInputVariable("xmax", "Limitation on stroke", "m", \ -0.5,&mpxmax); - addInputVariable("mL", "Inertia", "kg", 10.,&mpmL); - addInputVariable("bL", "Viscous friction coefficient of load", \ -"Ns/m", 0.,&mpbL); - addInputVariable("patm", "Ambient pressure", "Pa", \ -100000.,&mppatm); - addInputVariable("Tatm", "Ambient temperature", "K", \ -297.,&mpTatm); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,9); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port P2 - mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); - mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); - mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); - mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); - mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); - mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); - //Port PL - mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); - mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); - mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); - mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); - mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); - mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - p2 = (*mpP_p2); - qm2 = (*mpP_qm2); - T2 = (*mpP_T2); - dE2 = (*mpP_dE2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port PL - fL = (*mpP_fL); - xL = (*mpP_xL); - vL = (*mpP_vL); - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - eqMassL = (*mpP_eqMassL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ -+ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ -bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ -A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - mDelayedPart21.initialize(mNstep,delayParts2[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(9); - Vec stateVark(9); - Vec deltaStateVar(9); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - T2 = (*mpP_T2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port PL - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //LocalExpressions - - //Initializing variable vector for Newton-Raphson - stateVark[0] = vL; - stateVark[1] = xL; - stateVark[2] = qm1; - stateVark[3] = qm2; - stateVark[4] = dE1; - stateVark[5] = dE2; - stateVark[6] = p1; - stateVark[7] = p2; - stateVark[8] = fL; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //PistonMass - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(A2*c2 + cL + f0 - \ -A2*patm + ks*xL - A1*(c1 - patm + qm1*Zc1) + A2*qm2*Zc2 + \ -limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + mTimestep*(bL + bp + ZcL))) - \ -delayedPart[1][1]); - systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax); - systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ -T1)) + A1*p1*vL)/(R*(1. + T1)); - systemEquations[3] =qm2 + (Cip*R*(p1*(-1. - 1.*T2) + p2*(1. + \ -1.*T2)) - 1.*A2*p2*vL)/(R*(1. + T2)); - systemEquations[4] =dE1 - qm1*(cv + R)*T1; - systemEquations[5] =dE2 - qm2*(cv + R)*T2; - systemEquations[6] =-c1 + p1 - dE1*Zc1; - systemEquations[7] =-c2 + p2 - dE2*Zc2; - systemEquations[8] =-cL + fL - vL*ZcL; - - //Jacobian matrix - jacobianMatrix[0][0] = 1 + \ -(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ -- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ -ZcL)); - jacobianMatrix[0][1] = \ -(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); - jacobianMatrix[0][2] = \ --((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); - jacobianMatrix[0][3] = \ -(A2*mTimestep*Zc2*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = 0; - jacobianMatrix[0][6] = 0; - jacobianMatrix[0][7] = 0; - jacobianMatrix[0][8] = 0; - jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax))/2.; - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = 0; - jacobianMatrix[1][6] = 0; - jacobianMatrix[1][7] = 0; - jacobianMatrix[1][8] = 0; - jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); - jacobianMatrix[2][1] = 0; - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = 0; - jacobianMatrix[2][6] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); - jacobianMatrix[2][7] = 0; - jacobianMatrix[2][8] = 0; - jacobianMatrix[3][0] = (-1.*A2*p2)/(R*(1. + T2)); - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = 0; - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[3][6] = (Cip*(-1. - 1.*T2))/(1. + T2); - jacobianMatrix[3][7] = (Cip*R*(1. + 1.*T2) - 1.*A2*vL)/(R*(1. + \ -T2)); - jacobianMatrix[3][8] = 0; - jacobianMatrix[4][0] = 0; - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = -((cv + R)*T1); - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[4][6] = 0; - jacobianMatrix[4][7] = 0; - jacobianMatrix[4][8] = 0; - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = 0; - jacobianMatrix[5][2] = 0; - jacobianMatrix[5][3] = -((cv + R)*T2); - jacobianMatrix[5][4] = 0; - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[5][7] = 0; - jacobianMatrix[5][8] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = 0; - jacobianMatrix[6][2] = 0; - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = -Zc1; - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; - jacobianMatrix[6][7] = 0; - jacobianMatrix[6][8] = 0; - jacobianMatrix[7][0] = 0; - jacobianMatrix[7][1] = 0; - jacobianMatrix[7][2] = 0; - jacobianMatrix[7][3] = 0; - jacobianMatrix[7][4] = 0; - jacobianMatrix[7][5] = -Zc2; - jacobianMatrix[7][6] = 0; - jacobianMatrix[7][7] = 1; - jacobianMatrix[7][8] = 0; - jacobianMatrix[8][0] = -ZcL; - jacobianMatrix[8][1] = 0; - jacobianMatrix[8][2] = 0; - jacobianMatrix[8][3] = 0; - jacobianMatrix[8][4] = 0; - jacobianMatrix[8][5] = 0; - jacobianMatrix[8][6] = 0; - jacobianMatrix[8][7] = 0; - jacobianMatrix[8][8] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - vL=stateVark[0]; - xL=stateVark[1]; - qm1=stateVark[2]; - qm2=stateVark[3]; - dE1=stateVark[4]; - dE2=stateVark[5]; - p1=stateVark[6]; - p2=stateVark[7]; - fL=stateVark[8]; - } - - //Calculate the delayed parts - delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ -+ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ -bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ -A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port PL - (*mpP_fL)=fL; - (*mpP_xL)=xL; - (*mpP_vL)=vL; - (*mpP_eqMassL)=eqMassL; - //outputVariables - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - mDelayedPart21.update(delayParts2[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPISTONMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonMass.nb b/devPneumatic/PneumaticPistonMass.nb deleted file mode 100644 index d7747e5..0000000 --- a/devPneumatic/PneumaticPistonMass.nb +++ /dev/null @@ -1,1020 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 49746, 1012] -NotebookOptionsPosition[ 46901, 927] -NotebookOutlinePosition[ 47554, 949] -CellTagsIndexPosition[ 47511, 946] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell[TextData[{ - StyleBox["PistonMass\n", - FontFamily->"System"], - StyleBox["Single acting piston with an inertia load and spring", - FontSize->16] -}], "Section", - Evaluatable->False, - CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { - 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, - 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, - 3.8056303262154465`*^9, 3.805734353628872*^9}, - ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8056302888340044`*^9}, - ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\""}], - "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9, { - 3.805790077841528*^9, 3.805790090772189*^9}}, - ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { - 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, - 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, - 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { - 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, - 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, - 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { - 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { - 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, - 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, - 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}, { - 3.8056490732137604`*^9, 3.8056490808678637`*^9}, 3.805734339831105*^9, - 3.805734397352771*^9, 3.805789993130909*^9, 3.8057900332904825`*^9, - 3.8057900984752445`*^9}, - ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], - -Cell["\<\ -Single acting pneumatic piston with spring return connected to an inertia load. -The chamber volume is not included in the model but can be considered outside \ -the model.\ -\>", "Text", - CellChangeTimes->{ - 3.80362280378491*^9, {3.8049269528843813`*^9, 3.8049269782841835`*^9}}, - ExpressionUUID -> "abd21bd8-cde0-4513-a339-eb1237cc4233"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002CX0@0006`000160000000001H4002N0@00 -oOoooogooomj4P000PP00215CDH00040j2@00=d0000300000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000<2;A020lTP0000000000/08/>P00S4800000 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001N1000i@40000000000000GP@00>D1000T000090000;02;3X0000000000;02;3X008a2 -00000080000R000030000?oooom60000R0P007`80015CDH[:d0000`0000000007T0600`000000000 -8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00S4800000 -8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020KZM90000081^YdV0]L=8 -0000082e`dP00@61G@U@]Oo?cliM2E2 -0041PAA0080@000010000?ooool8@042>00002`000024<3K000009P0000000000030?`<000000810 -0000008@`=/000000000oaE0000@0000100000400008@083?000030000024<3K1000000P00006cQ1 -02Z3?`c<]D40:XBl4:7hLE1h;Je@HOQaD400@61 -5404P10000040000ooooo`Q01@8h0000;000008@`=/00000V000000000000<0o0`000000P4000000 -0Q30f`000000003o5D040100000400001@0000Q01P8h0000;000008@`=/00000V000000000000<0o -0`000000P40000000Q30f`000000003o24070c@0000X00000Q30f`<0000000006f@b@B[K8d93aJi0 -^77j@E;o?clYM2E20041PAE01`0@0000100000H00008@0P2>00002`000024<3K000009P000000000 -0030?`<0000008100000008@`=/000000000o`Q02@=d0000J000008@`=/:0000000003nB^47@BjE1 -K[CE@MGihD0gfQ92ZAXG@/_n=d:=S=a0PFaL@ZLJ5d;dlh12]I_L@3nfTd;c[1E2R4RV@Sa3gd1TOkQ2 -lJ`E@]1JbT9c7/]000410@410@410@615D09010000040000200000Q02P>X0000W000008@`=/@0000 -020004P;2T<0i]U0[K4<@`3VfD2Pe`i3;e8?@J3G3T>7^3U1X=L>@kYGl46Pe`i3LlD2@Zfa34KI@4UDnT84i]U000<30`430`<10`<30@<3PaA02X0@000010000?ooool8@0/2>00002`000024<3K -000009P0000000000030?`<0000008100000008@`=/000000000oaE02P0@0000100000/00008@0`2 ->00002`000024<3K000009P0000000000030?`<0000008100000008@`=/000000000o`Q03@000050000000000@0000 -500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000=000008000020000 -Bfhe_h1/=Ko_6Q53jc4/@P<0001;KSFoP6`e_h1U44>0K3FoBfhe_cUL:D8Q000020000680000<0000 -0@000240000800007P0001P00016000000000P0000`0000:00006`00010000000000 -000002<0000P0000`Z77@00000000000>6?7@;KGU4:YCHe0900002@00032XLM000000000000hHlM0 -]]ND@ZU=SD040000L`0000`0000000003@0001000016000000000580001`0@000@00010000070000 -00000000002l0P00000000L20R9C07T0L`1d06D0K@00000000000000000000000000000000000000 -00000000000000000000000000000000000WM/1@9gK@EbMfaNB/McSJ_003iZaghb0009WZ[7N?SYR` -b6l042P/7Ng3Yg7o_oooiCJ_02[KK5g00000=9]/GO@b;`E003^2fAf00P000009@0000`000010000 -AP0002P0000L0000AdA9@`80003oooooooooohl0000Y00000000024000080000HP0000`000010000 -8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 -00000080000U000030000000080U0000300000P0081F0000<0000?l100060000a@8000@100050000 -100400@0SP9I1Xh2F@H400@0100U0000300000L0080U000030000000080T000090000000P4400000 -00000000P440000000000080000R000030000?oooolj0000300000@0000Q0000200001h0000H0000 -AP000000002@0000:P0002@0000T00000020?@00000000000020?@00000000000P0005l0000h0000 -0P0003P000000000>000000000008P40600000000000000000000000000000009@0000`000020000 -9@0000`000050020EP0002`0003o0@0010000=/200060@00100000@0101I1P@0F@J>0P@0SP8U0000 -300000L0080U000030000000080T000090000000P440000000000000P440000000000080000R0000 -30000?oooolX000030000080000j0000300000X0000Q0000200001h0000H0000AP000000002@0000 -:P0002@0000T00000020?@00000000000020?@00000000000P0002D0000<00000000P2D0000<0000 -2000P5H0000`0000o`4006h0000f0`00W00000D0001T0A01I0640Gd7Q05m1a01I04@0BD0000<0000 -1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 -ooooocX0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m -000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 -000000000000000000000000000U000030000080000U0000300000D0081F0000;0000?l1001G0000 -C@<00;<000040000I04@0Gd7405m1h@1I0640BD0000<00001`00P2D0000<00000000P2@0000T0000 -0020@@00000000000020@@00000000000P000280000<0000ooooobP0000<00000P0003X0000<0000 -2P0003X0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m -000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 -000000000000000000000000000U000030000080000U0000300000D0081G0000A0000?l1000B0000 -eP8000@1000:0000JP530J@1J@140UD2f09W06X3E@8016L0UPA?0R/5J02l1Dl2B`IN02D0000<0000 -1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 -ooooobP0000<00000P0003X0000<00002P0002@0000T00000020?@00000000000020?@0000000000 -0P0002D0000<00000000P1<0000<00000P0003/0000800006`000100002I2000I@0005P0000X0000 -00000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00F00002P000000000 -00000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000:000000000000000 -ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X000000000000003ooooo -ooooo`<0001n1hP0X@MU0P0000`0000400008@0000P0000N0000600004H000000000T00002X0000T000090000000P3d00000 -00000000P3d0000000000080001O0000>0000080000h0000000003P000000000028101P000000000 -0000000000000000000002D0000<00000P0002D0000<00001@00P3/0000800006`000100002I2000 -I@0005P0000X000000000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00 -F00002P00000000000000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000 -:000000000000000ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X0000 -00000000003oooooooooo`<0001n1hP0X@MU0P0000`0000:0000>P0000`000040000 -8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 -00000080001O0000>0000080000h0000000003P000000000028101P0000000000000000000000000 -000002D0000<00000P0002D0000<00001@00P5L0000X0000K`800;00003K0P001P4000<0002j1Hl2 -0`Ke0ET6TP8U0000300000L0080U000030000000080T000090000000P440000000000000P4400000 -00000080000R000030000?oooolX000030000080000j0000300000X000160000500000P00017A4U3 -0`000280000<0000ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000 -ooooob80000<0000o_ooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o -0000P000080Z@000900001P00007N/I000000000003BOl=0WLZD@S^P0000000000/08/>P00S48000008D0700`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00S4800000:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 -000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 -900001P00000080o000000000000080oLKR=@_Bi_d<4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000005h4003U0@0000000000001N1000 -i@4002@0000T00000020?`00000000000020?g6hSD;d^Km30P0000`0000@000000000000000:0000 -4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 -HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400<]T -8>:l01iE/GLPh[`0_UFaM`T0000`/0l1jEFaMfcR_00`/0l1800000d0301Hh[`0U4Zk5E3R_0000000 -0000P000022LECAgGcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe -IRHQL@008@1V9R5aIRH00:cR_02fOS9eah@007SR_01P8^h;G>Bl00T00002000000000=9]/GO7Q1@0 -ah@4500010000?ooah@Doooooon`X`0011@406@000000000X2W^2kP;2P?Lh[`0k3LWMV0RkP_7Q0@D -2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 -30000000009D0000E00004L0000@0@00P@0009d100020000000000000000000000000040001<0000 -0000000000000000oooooooooom@0000<@0003/0000U0000300000h0080X000030000040000R0000 -30000?oooom60000c0000<000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000 -:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 -10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o -000000000000080o0_4QA3?4_d<4@00030000000000Q0000200001`000080000B`000400000`0000 -1@000200000100000@00010000000000000005h4003U0@0000000000001N1000i@4002@0000T0000 -0020?`00000000000020?`;a8D@ca;m30P0000`0000@000000000000000:00004000000000000000 -DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 -000000000030ib]10000000000000000000000000000000000000<3W:d400000L74H7_oooom`LAPN -E0000040001V9R5a000006HV8G70hK`0800000d0301Hh[`0U4Zk5E3R_00000000000P000042LECAg -GcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAeIRHQL@008@1V9R5a -IRH00:cR_02fOS9eZh0007SR_01P8^h;G>Bl00T00002000000000=9]/GN[P9l0Zh04W`0010000?oo -Zh2Ooooooon`X`0019l406@000000000X2W^2j0;2P?Lh[`0k3LWMV0RkP^[P0BO2@00000000040000 -I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 -E00008P2000A0@00`P8009h100020000000000000000000000000040001<00000000000000000000 -oooooooooom@0000Bl00T00002000000000=9]/GORQ6l0hX@4K`0010000?oohXA_oooooon`X`00 -16l406@000000000X2W^2`0<2P?Lh[`0k3LWMV0RkP_RQ0A_2@00000000040000I7H02000000U0000 -30000040000F0000300001P0000B000030000040000H000030000000009D0000E0000>H3000h0000 -5P@00000050000000000@0000 -5000 -\>"], "Graphics", - ImageSize->{214., 93.2513966480447}, - ImageMargins->{{63, 0}, {0, 0}}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], - -Cell["The name of the component is stored in ComponentName.", "Text", - ExpressionUUID -> "fc663f35-5dac-409c-a0ec-6281d6b5b63c"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { - 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { - 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, - 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { - 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, - 3.8036198831731386`*^9}, {3.8036202178951073`*^9, - 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, - 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, - 3.805630308114118*^9}, {3.805805751368019*^9, 3.805805758535627*^9}}, - ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\n", " \t", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], - ",", "\n", " \t", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], - ",", "\n", " \t", - RowBox[{"MechanicQnode", "[", - RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { - 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, - 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { - 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, - 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.8056491145840855`*^9, - 3.805649116927668*^9}, 3.805650388227715*^9, {3.805719215914028*^9, - 3.8057192224942408`*^9}, {3.805719918416616*^9, 3.805719925648157*^9}}, - ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - ExpressionUUID -> "4495269b-b1d4-4ebd-af99-f1c375c55315"], - -Cell[BoxData[ - RowBox[{"\t", - RowBox[{ - RowBox[{ - RowBox[{"p1e", " ", "=", " ", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", - RowBox[{ - RowBox[{"p2e", " ", "=", " ", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "qm2"}]}]}], ";"}], "\n", "\t", - RowBox[{ - RowBox[{"fLe", "=", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", - CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { - 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.804927507048891*^9, - 3.8049275130466986`*^9}, {3.8049275609992347`*^9, 3.8049275630291405`*^9}, { - 3.805719576982807*^9, 3.80571957928743*^9}}, - ExpressionUUID -> "d5ca4b5d-6b32-4f2a-a76e-9a3cedf163f1"], - -Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fg", " ", "=", " ", - RowBox[{ - RowBox[{"A1", " ", "p1e"}], " ", "-", " ", - RowBox[{"A2", " ", "p2e"}], "-", - RowBox[{ - RowBox[{"(", - RowBox[{"A1", "-", "A2"}], ")"}], "patm"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { - 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, - 3.803619931058714*^9}, 3.804927513997717*^9}, - ExpressionUUID -> "df1e64d9-2384-43c3-90cf-d959911109f0"], - -Cell["\<\ -Dry friction is modelled with a small linear region for low speeds for \ -numerical reasons\ -\>", "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, - 3.6326809028107214`*^9}, - ExpressionUUID -> "36e2dac7-1064-4be5-be73-60bd41e923f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Bf", "=", - RowBox[{"bfc", " ", - RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { - 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { - 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, - 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, - 3.6330608651106114`*^9}, - ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fre", "=", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"Bf", " ", "vL"}], ",", - RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, - 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, - 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, - 3.633061731221661*^9, 3.8057195804642153`*^9}, - ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"T0", "=", "1."}], ";"}]], "Input", - CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, - 3.6273207475017023`*^9, 3.803624094990635*^9}, - ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Differrential algebraic equations", "Subsection", - CellChangeTimes->{{3.5719031558017125`*^9, - 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ -663ef645837a"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"rho1", " ", ":=", " ", - FractionBox["p1", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"rho2", " ", ":=", - FractionBox["p2", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"T2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", - CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, - 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}, { - 3.8056497325247784`*^9, 3.8056497363208623`*^9}}, - ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", "=", - RowBox[{"-", "qL2"}]}], ";"}]], "Input", - CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, - 3.8057195817349052`*^9}, - ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"q1e", "=", - RowBox[{"qm1", "/", "rho1"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"q2e", "=", - RowBox[{"qm2", "/", "rho2"}]}], ";"}]}], "Input", - CellChangeTimes->{ - 3.8049274368531656`*^9, {3.805649213945594*^9, 3.8056492142323008`*^9}}, - ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"cp", "=", - RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, - ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"mL", " ", - RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", - RowBox[{ - RowBox[{"(", - RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", - RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", - RowBox[{"(", - RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", - "\[IndentingNewLine]", - RowBox[{"qm1", " ", "\[Equal]", - RowBox[{"-", " ", - RowBox[{"(", - RowBox[{ - RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", - RowBox[{"Cip", "*", - RowBox[{"(", - RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"(", - RowBox[{ - RowBox[{"A2", " ", "rho2", " ", "vL"}], " ", "+", " ", - RowBox[{"Cip", "*", - RowBox[{"(", - RowBox[{"p1", "-", "p2"}], ")"}]}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1", " ", "cp", " ", "T1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", " ", "T2"}]}]}], "\[IndentingNewLine]", - "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, - 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { - 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, - 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { - 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { - 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, - 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { - 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, - 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { - 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, - 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, - 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { - 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, - 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, - 3.8056491606455727`*^9, 3.8056491960410633`*^9, {3.805719582665945*^9, - 3.8057195875119467`*^9}}, - ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179141015143`*^9, - 3.8050179155584116`*^9}},ExpressionUUID->"7a00d647-ff13-455e-b6ed-\ -630874d7c8f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"fL", " ", "==", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { - 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, - 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { - 3.8049274406392603`*^9, 3.804927442192658*^9}, 3.8056491523531322`*^9, { - 3.8057195882741594`*^9, 3.8057195897156725`*^9}}, - ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], - -Cell["The vector of independent variables of the system are", "Text", - CellChangeTimes->{{3.524850810625*^9, - 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ -b44c06bce4a8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", "=", " ", - RowBox[{"{", - RowBox[{ - "vL", ",", "xL", ",", "qm1", ",", "qm2", ",", "dE1", ",", "dE2", ",", - "p1", ",", "p2", ",", "fL"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { - 3.8036206574574633`*^9, 3.803620685395481*^9}, {3.80362983059277*^9, - 3.8036298350652122`*^9}, {3.8049275428759294`*^9, 3.8049275439138584`*^9}, { - 3.804927576432316*^9, 3.8049275774153023`*^9}, {3.8057195907156405`*^9, - 3.805719592235074*^9}}, - ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], - -Cell["Limitations", "Text", - CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, - 3.8036206934694366`*^9, {3.8036208660567694`*^9, - 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ -08c613090723"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"variable2Limits", "=", - RowBox[{"{", - RowBox[{"{", - RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, - 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { - 3.805719593856402*^9, 3.8057195942719727`*^9}}, - ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,400,139, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901019286823`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,400,140, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901019716377`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticPistonMass\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonMass\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonMass.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,400,141,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901020415654`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,400,142,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901020785265`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 400,143,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102107497*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,400,144,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102151452*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,400,145,16369274701888019615, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901021804223`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,400,146,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.805790102208393*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,400,147,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901022363644`*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 400,148,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.80579010227932*^9}}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,400,149,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.8056328391906824`*^9, 3.805649284712597*^9, 3.8056495557468224`*^9, - 3.8056497719391212`*^9, 3.805719374051429*^9, 3.805719611068647*^9, - 3.8057343643667965`*^9, 3.8057344087769866`*^9, 3.805789997252657*^9, - 3.805790037251396*^9, {3.805790081525727*^9, 3.8057901023082905`*^9}}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{680, 669}, -WindowMargins->{{123, Automatic}, {136, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 511, 11, 88, "Section", - Evaluatable->False], -Cell[1093, 35, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1451, 43, 505, 12, 30, "Input"], -Cell[1959, 57, 829, 16, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2791, 75, 1948, 39, 164, "Input"], -Cell[CellGroupData[{ -Cell[4764, 118, 98, 0, 49, "Subsection"], -Cell[4865, 120, 347, 7, 49, "Text"], -Cell[5215, 129, 12927, 162, 102, "Graphics"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18179, 296, 96, 0, 49, "Subsection"], -Cell[18278, 298, 129, 1, 30, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18444, 304, 101, 0, 49, "Subsection"], -Cell[18548, 306, 3777, 84, 373, "Input"], -Cell[22328, 392, 1219, 25, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[23584, 422, 104, 1, 49, "Subsection"], -Cell[23691, 425, 781, 19, 69, "Input"], -Cell[24475, 446, 97, 0, 30, "Text"], -Cell[24575, 448, 501, 12, 30, "Input"], -Cell[25079, 462, 322, 7, 30, "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[25404, 471, 502, 10, 30, "Input"], -Cell[25909, 483, 567, 12, 30, "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[26479, 497, 244, 5, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[26760, 507, 183, 3, 49, "Subsection"], -Cell[26946, 512, 627, 16, 94, "Input"], -Cell[27576, 530, 243, 6, 30, "Input"], -Cell[27822, 538, 353, 9, 50, "Input"], -Cell[28178, 549, 220, 5, 30, "Input"], -Cell[28401, 556, 2701, 57, 164, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[31139, 618, 162, 3, 49, "Subsection"], -Cell[31304, 623, 1049, 24, 107, "Input"], -Cell[32356, 649, 192, 3, 30, "Text"], -Cell[32551, 654, 601, 12, 30, "Input"], -Cell[33155, 668, 230, 4, 30, "Text"], -Cell[33388, 674, 436, 10, 30, "Input"], -Cell[CellGroupData[{ -Cell[33849, 688, 122, 2, 30, "Input"], -Cell[33974, 692, 655, 12, 21, "Message"], -Cell[34632, 706, 655, 12, 21, "Message"], -Cell[35290, 720, 6639, 97, 113, "Message"], -Cell[41932, 819, 543, 10, 21, "Message"], -Cell[42478, 831, 683, 12, 21, "Message"], -Cell[43164, 845, 541, 10, 21, "Message"], -Cell[43708, 857, 685, 13, 21, "Message"], -Cell[44396, 872, 541, 10, 21, "Message"], -Cell[44940, 884, 615, 11, 21, "Message"], -Cell[45558, 897, 682, 12, 21, "Message"], -Cell[46243, 911, 618, 11, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPistonMass.pdf b/devPneumatic/PneumaticPistonMass.pdf deleted file mode 100644 index 61c32b7112f93c62ad6fd6cc0d39bb37896bc3c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84382 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
  • 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

    A$3JAN@5T=gDUXw;I8?T0~ZZKK#!0y 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

    tXk^3NB~C7GYC#+#H|1TCp;X(BDD#+c*H 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 diff --git a/devPneumatic/PneumaticPistonMass.svg b/devPneumatic/PneumaticPistonMass.svg deleted file mode 100644 index 9b87a3c..0000000 --- a/devPneumatic/PneumaticPistonMass.svg +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPistonMass.xml b/devPneumatic/PneumaticPistonMass.xml deleted file mode 100644 index 9e77ee5..0000000 --- a/devPneumatic/PneumaticPistonMass.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - Double acting pneumatic piston with spring return - PneumaticPistonSAMass.nb - PneumaticPistonSAMass.pdf - - - - - - - - - diff --git a/devPneumatic/PneumaticPistonSASpringMass.hpp b/devPneumatic/PneumaticPistonSASpringMass.hpp deleted file mode 100644 index e4f28ff..0000000 --- a/devPneumatic/PneumaticPistonSASpringMass.hpp +++ /dev/null @@ -1,419 +0,0 @@ -#ifndef PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED -#define PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPistonSASpringMass.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 6 Aug 2020 18:26:06 -//! @brief Single acting pneumatic piston with spring return -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticPistonSASpringMass.nb*/ - -using namespace hopsan; - -class PneumaticPistonSASpringMass : public ComponentQ -{ -private: - double A1; - double A2; - double SL; - double Cip; - double bp; - double ks; - double f0; - double fc; - double bfc; - double xmin; - double xmax; - double mL; - double bL; - double patm; - double Tatm; - double R; - double cv; - Port *mpP1; - Port *mpPL; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[6]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port PL variable - double fL; - double xL; - double vL; - double cL; - double ZcL; - double eqMassL; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port PL pointer - double *mpP_fL; - double *mpP_xL; - double *mpP_vL; - double *mpP_cL; - double *mpP_ZcL; - double *mpP_eqMassL; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpA1; - double *mpA2; - double *mpSL; - double *mpCip; - double *mpbp; - double *mpks; - double *mpf0; - double *mpfc; - double *mpbfc; - double *mpxmin; - double *mpxmax; - double *mpmL; - double *mpbL; - double *mppatm; - double *mpTatm; - double *mpR; - double *mpcv; - //outputVariables pointers - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart20; - Delay mDelayedPart21; - Delay mDelayedPart30; - Delay mDelayedPart40; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPistonSASpringMass(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(6,6); - systemEquations.create(6); - delayedPart.create(7,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpPL=addPowerPort("PL","NodeMechanic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); - addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); - addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); - addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); - addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ -30.,&mpbp); - addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); - addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); - addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); - addInputVariable("bfc", "Numerical friction factor.", "", \ -1.,&mpbfc); - addInputVariable("xmin", "Limitation on stroke", "m", \ -0.,&mpxmin); - addInputVariable("xmax", "Limitation on stroke", "m", \ -0.5,&mpxmax); - addInputVariable("mL", "Inertia", "kg", 100.,&mpmL); - addInputVariable("bL", "Viscous friction coefficient of load", \ -"Ns/m", 0.,&mpbL); - addInputVariable("patm", "Ambient pressure", "Pa", \ -100000.,&mppatm); - addInputVariable("Tatm", "Ambient temperature", "K", \ -297.,&mpTatm); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,6); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port PL - mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); - mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); - mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); - mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); - mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); - mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port PL - fL = (*mpP_fL); - xL = (*mpP_xL); - vL = (*mpP_vL); - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - eqMassL = (*mpP_eqMassL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - delayParts1[1] = (-(A1*c1*mTimestep) + cL*mTimestep + f0*mTimestep + \ -A1*mTimestep*patm - 2*mL*vL + bL*mTimestep*vL + bp*mTimestep*vL + \ -ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - mDelayedPart21.initialize(mNstep,delayParts2[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(6); - Vec stateVark(6); - Vec deltaStateVar(6); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port PL - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //LocalExpressions - - //Initializing variable vector for Newton-Raphson - stateVark[0] = vL; - stateVark[1] = xL; - stateVark[2] = qm1; - stateVark[3] = dE1; - stateVark[4] = p1; - stateVark[5] = fL; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //PistonSASpringMass - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(cL + f0 + ks*xL - \ -A1*(c1 - patm + qm1*Zc1) + limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + \ -mTimestep*(bL + bp + ZcL))) - delayedPart[1][1]); - systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax); - systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ -T1)) + A1*p1*vL)/(R*(1. + T1)); - systemEquations[3] =dE1 - qm1*(cv + R)*T1; - systemEquations[4] =-c1 + p1 - dE1*Zc1; - systemEquations[5] =-cL + fL - vL*ZcL; - - //Jacobian matrix - jacobianMatrix[0][0] = 1 + \ -(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ -- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ -ZcL)); - jacobianMatrix[0][1] = \ -(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); - jacobianMatrix[0][2] = \ --((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); - jacobianMatrix[0][3] = 0; - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = 0; - jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax))/2.; - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = 0; - jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); - jacobianMatrix[2][1] = 0; - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); - jacobianMatrix[2][5] = 0; - jacobianMatrix[3][0] = 0; - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = -((cv + R)*T1); - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[4][0] = 0; - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = 0; - jacobianMatrix[4][3] = -Zc1; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[5][0] = -ZcL; - jacobianMatrix[5][1] = 0; - jacobianMatrix[5][2] = 0; - jacobianMatrix[5][3] = 0; - jacobianMatrix[5][4] = 0; - jacobianMatrix[5][5] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - vL=stateVark[0]; - xL=stateVark[1]; - qm1=stateVark[2]; - dE1=stateVark[3]; - p1=stateVark[4]; - fL=stateVark[5]; - } - - //Calculate the delayed parts - delayParts1[1] = (-(A1*c1*mTimestep) + cL*mTimestep + f0*mTimestep + \ -A1*mTimestep*patm - 2*mL*vL + bL*mTimestep*vL + bp*mTimestep*vL + \ -ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port PL - (*mpP_fL)=fL; - (*mpP_xL)=xL; - (*mpP_vL)=vL; - (*mpP_eqMassL)=eqMassL; - //outputVariables - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - mDelayedPart21.update(delayParts2[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPISTONSASPRINGMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonSASpringMass.nb b/devPneumatic/PneumaticPistonSASpringMass.nb deleted file mode 100644 index d9cd4c2..0000000 --- a/devPneumatic/PneumaticPistonSASpringMass.nb +++ /dev/null @@ -1,1044 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 55282, 1036] -NotebookOptionsPosition[ 52533, 953] -NotebookOutlinePosition[ 53186, 975] -CellTagsIndexPosition[ 53143, 972] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell[TextData[{ - StyleBox["PistonSASpringMass\n", - FontFamily->"System"], - StyleBox["Single acting piston with an inertia load and spring", - FontSize->16] -}], "Section", - Evaluatable->False, - CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { - 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, - 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, - 3.8056303262154465`*^9}, - ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8056302888340044`*^9}, - ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9}, - ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { - 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, - 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, - 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { - 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, - 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, - 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { - 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { - 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, - 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, - 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}}, - ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], - -Cell["\<\ -Single acting pneumatic piston with spring return connected to an inertia load. -The chamber volume is not included in the model but can be considered outside \ -the model.\ -\>", "Text", - CellChangeTimes->{ - 3.80362280378491*^9, {3.8049269528843813`*^9, - 3.8049269782841835`*^9}},ExpressionUUID->"abd21bd8-cde0-4513-a339-\ -eb1237cc4233"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0004Jd0@0006`000140000000001@4003;0@00 -oOoooogooom]4P00a@P00215CDH00040]4H004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000N18006`B0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000062;A03014@Z@000 -900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00R4800000 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00R48000008D0700`00000000024000c`0000`00000Q30f`@000000000 -000000000020KZM90000081^YdT03_M80000000>mdP00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000o4BDA1E7RLkIak -D=CEglMOgog^L_66P:VH5laD::RQdU4AOPRH^//UGLg6bD[=IfZHIV`N/k5We2HOWdKCWfUf6KF;>IHc -A@>k/:^8J82VR966Uai5:D75Ac3S9[2kioV3f97KgP6IN9kcoKkgXmo?WWaYWcm?JVXZbiL_Me]?[mMchL85K]jlbO3Q`egF -bLk>Y[jnW_CdM>K=VnNFCCZMSXJ61PhM>/CL^G=Me_W^^nnhL>62FkId@;@/bcY9TPK5a/HB71`/^B9B -DU8bn=7dffno^OE_54:8/fO?R^3PH92fF7Qh>0J3@IHT:@1hZl/MB0Q1CTh>FZfFK=VfcH/04O7amd>Yg;=ZFWYj=@:5RgKQdE5AFL>WG:9AfS -dHP/bhB4Q;Q/Be]TFIjkH<42AG1`/baak1H;:>kg86b/k<1R8n?Aj_Ed]3@h?9o/=5XY:VYRLC4A>;Rh^SG -[io;diQ>Yb720T9HMBXDDbM>YDA8dJh?8gYmGZ63Qg:i73Q0KFf]deX73ai4Xm4Pbc806Xf6:eN^L?7RAJNdF]Hk2@T908`HAX:0PWWcbBJM]j4Vje86^Gkm>KFd]lO7aeSJ]ET]MGAe6Xm4Y[OclO2X[:jd? -29XM@98TYjM4_Ei?F5PHSckjZ;D]:BV9PX82b/_;7MJYZj/S9bN7iiikc]XfLN949TbHh9A=I[>Ik>a/ -e6XeT^ABRZK7j;94X/ERhLbI7>R`gZiM^e2YE4RBI=D263=V37_g -kRDl?=`QWM[JFW9cLiToOgh[WB53QR24H=>VC@i?8lN?7jN^[XjPX:1FFV5QHNSeN];Bd_3emKF[DeaL -C5EEUEGWo?Wc;Eda@9E3aWBNOOijE:eNf:cVL?G^FeeikSOG[ea7O^G9N?@5fjR1he -JQBC9dm^ejiBZDQ:BT:Wdm7Hf6QG9b/ZVb;3=kmV`<1P=V/mVVCUiN7WO^g;56Gff9S8`T -<33@XG1N[mOSiNG5k=Vc>na?B4SPeZeK51HFf]@a60`88CbMonTf^]B15ReJQ4ZUj[1?ZmGbiimoL_S` -HI/JMnkL8ClogiYWj@R=A/?]fkLY:2R`ZJGCjO3emNedWkIBZDB]EY>ATH79I;:YUIjNCTaW8VOWioMY:;1H<1T<[D:gm/bIlhLE2ZEgJadIVHVLG5a=T/5bLW9 -MX^[UbmOi^;5RcI]2PP8H=ZdJCHCWDe=CKdfO6nQaac8fm/KSDI3FUZJcEmkBoKiVFNNjO@J?cloYTfK -I_?GGUaLc>G;UfdnM81I/fKI;JjVYJD1M3XE]Y2@T<0__oc2kkoogV7o/F?7^7_gKZnM_Z2;=iAml<47 -K=VbYM=n8@AV/aTO7im>Oh4VT`V5@X6g]kO=kk9H;5P/UTjWc9H]5RTY:JBTY=SDA^dLNNJAMa7NoC@/F;>S/GTnLfN_BXJg;74RFIIinnVVKXKG9I6;[eZf4QhMg^1P] -;BgUVfnn@J_EfWeH]foOI^O>WLC7ao?DDdnejmncI`m225iiiAFk]QLE5F4d6UVbI0T??OA@ZkkjnWZf -KM_6]6WCR8j>]Z_efFNOhNo_cl:52m_ekMZeRokmnkL;]GonnFL>73P0l17PcQiI;f2U6oLkA8nN2e^` -H84H=VbH<9UFkL>96@T=2^_J:R@RPD2[5noGZ7M<[;bhDTBF;3QPg]n[kj -jR/1R<;2@XNdgWccCN7]kBfZZj]K]EnkMTd0H_?VcNg^lN2i/07diS3N4KAJ;ADE5A`oO[aMGfIV9[6a -/@k_Se6[eA`nO9Rj^[YFkGZm_UG5g1jfRZ]j_IhA8dId>el^P>AY[Fea]J6PP:b^;i>ATQj>VZ:PX -1PlNg2hJ:`E4a?3`843 -FhGcmOGeI6MW>oG@XKTj;hAXYIFCTd=eMKECCZeBZIPeJaJIVIWFOemSHbCUfXkSN@3/7ZZ^[@jeF -dmCDe6e6J;EJb/_;>GWbY;E=[mLC4A71b94S7MKam_HV;Rh>_Ei_OESIfMWDe]HjmM2Q^J8nO_chE]>H -CZMS`801MUm4dIJ4Q0A^g;S1jM>W0LS=cJFj^[Xk`_MkP:G]U>h9JVYZD2PDmNdLj8/__^3XdJ=lo?77 -7_oBcTQ:B/;;bl/jSEEEEG7Ra0VW7cXdCf?G[UfS^;PHJ7K4@H<6lJmooL]Y[HB41;:c/jV^[TH8@DI6 -QSE?i0aZ]AZUDVVMaXa68mkNg/C4a3Q]Ti>HU4[UiMcLG4nT0e[ahhloFRA9:VkU@2JCbIZgNOOMMjVX -Z?3dmgJ8WilOLG5aeVT/CWINUS`m>WCU9FE>K`@_in0 -P02VCYeZMB23`D1794lnKZHoO_gLo[dJHGIK?jRU@=mnnfgU9JF/WG[E^kM -^lLkkkcS/BneQeJ[YKBdU::R8_Aj?D51@@i7>_LC51A4A4@4VIVIW3YeR_;bLYLL4F3jm>T<6C:4m?Ad -M3XM/Rbk73FeI:Gcl_:hN?5RMfJO]b/DRUndFZgUXhlnJQNQ>T=eMCFK=VeRlN;55UVFS`6O`mmi88_5 -8/;2`TAXJ:P`VlgR[KON4PZ5@Y`hLD88dOG_1kYmnkI@:YERiLZE`/o?CbaO_]biaPfkN?5R4APH:<;3`dEDE9C;>^O?WaN0R8R8482`MDZd2mh?=4BFiH>0D2ZEiY4SAcJ=7Sfj -dIW?``log:AD:Rf0T2CY1l0?k/]4IfATD5aLc=jmNe4X5:aI/hImnoJATY9R]l[]2@830hV9RF77SQgL -^gO?iE43VZNammikSidkMc9mnW@20P;/gm@9bLW9k=fkUl[:BSkhh0>GMD93@aTgKQa5ADF<6cL>Ci`B -MH;KI[=i5Q1YQXEZmNkI5gj=QSk]bib;9AT]gFRXj<92PYb:JG`X:84^7CY4^_G[nn`iQ@A4L6[[kkJ;@h4<7onO8ol@VO=V/GI/fLm -H57c:=KIWQiWD:UD_?onnfj=[PlJ4/d[LgK_g]eYdK:j^YZDU1CZjn^I=flNHlN>]B^lKM/fe6XeRaL_ -M/ZPa/I6Ug8f7E5GEoO0?B`QQ=fBBUIF5[]fkH9Nl9iX2BLf;DVBi5@mbMGgi?AQiH5g82GPL8UJ2=6Z -h=V7dl`2=P?o2FAeLTdRl3o0fl3oMI=MOO@BI>1oPB8jgV[Z@g>^YHP7H:]=7`lVod7c/R6nPkiE=_[j -j0<0Kj0Lb6kCkPmD0ZjmOJ^?OaA_dCcBC;V_kMn02NRM9`ckj5H6d_cJU^oooW/`cKFVGCeUD1nmSol6 -c<1S`;M07C2ZAbgZXeLa5:P5lP4;c@kEAam>lA7=Jj5K`:0N]ZF?G/PHX16`OMKj0DK^J@?nhMcmnlm] -=4mS_Hko1cP1;Bd/0 -OGem0?Sh`1`L700jNWY0CTi017AdL00@410>OWi`2a/K40GUiN0:j^[P1JFUX03Ph>04I6AP1VIVH0@d=309nOW`051@D0 -kNg]0=gMg@2MWId0Hf=S018B4P3kno/08B4Q069RHP0C4a<0>3Ph02LW9`3IfMT0d];B020P801KFe/0 -1PH60:2PX02@T9004A4A059BDP3moOd061PH01HF5P30`<00dm?C01LG5`36a/H0gmoO0=KFeP3no_h0 -6ATI01lO7`1=CDd0@T9202`/;01XJ6P030`<0?Shn02KVi/0LW9b08B4Q02=SHd0Rh^;05eMG@1?Cdl0 -dM7A09jNWP1aLG40lO7a0?3`l01iNGT0/k>c0;Zj^P3^k^h0BTY:02;RhP34a<@0YJFU0:NWY`3fm_H02PX:06m_K`0[:b/0V9RH0=CDe03Xj>P0?clo02l_;`29RHT0 -OWin04Q8B00J6QX08R8R08n?S`3UiND0VIVI000 -_kno07YjNP1fMWH0EEEE01/K6`1UIFD05ADE0S0<_;b`2k^k/0@D5108J6QP2QXJ40?Cdm034a<@3=cLd0>c/k0>_[j`2BTY80 -:BTY07EeM@3/k>`0;Bd]04A4A02GUiL0GemO0cP1WIfL0Lg=c04i>CP010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@400@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@400@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@0000410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@4100000001 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100010@000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100410@000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@400@410@400@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@0000410@4100410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@410@400@410@41 -0@010@410@410@410@410@410@410@410@410@410@410@410@410@410@410@010@400@4100410@01 -0@400@4100410@010@400@4100410@010@400@4100410@010@400@4100410@010@400@4100410@01 -0@400@4100410@010@400@0100410@0100000@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@4000000000000002/71`L71`L71`L71`00000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@409dNFUYJFUYIU8@1:iNGUiNGUiNGU9nJFUYJF -UYJFUYJFUYIfUYJFUYJFUYJFUYJFUYJFUYJFeIJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJFUYJF -UYJFUZ6FUYJFUYJFU/<00@410@410@410@410@410@410@410@410@410@410@410@410@410@400:81 -0@410@7T:00<0@410@410@413@h10@410@410@410@7K:@410@410@410@410@410@4UPP410@410@41 -0@410@410@41Qe410@410@410@410@410@410DL10@410@410@l00@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@40YSn=0@410N01810@410@410@410@410@41K@D1 -0@410@410@410@410@41Y02J0@410@410@l00@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@402]V/6P41b`0i2`0<0@410@410@413@h10@410@410@410N408B010@410@410@410@41 -0D]<06010@410@410@410@410@4U3@120@410@410@410@410@415@2;0@410@410@l00@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@402/h0d04IQ75;2`0<0@410@410@413@h10@41 -0@410@410N0=0]/<10@410@410@410@410H8XbBLg0@410@41 -0@410@410@5R?moF0@410@410@410@410@5C0=L0@P410@410@l00@410@410@410@410@410@410BP0 -9kG8bo_knoIPMb_kno_kno_kno ->fjo_kno_lA4_kno_h<000400@0100400@0100400@00P@410@410@410@410@410@410@41PP002P41 -0@410@412`0<0@410@410@41:`LW9bLW9bLW:00X9bLW9bLW00LW9bLW9bLW9`L09bLW9bLW1`0W9bLW -9bLW9bL[:bLW9bLW9b/[9bLW9bLW9bLX00LW9bLW9`L09bLW9bLX:2PX:2PX:2PX:2PX:2PX:2P0P@41 -0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@41:ah10@410@41<3ll0@410@41 -UDe;0@410@410Gn00@410@41C`280@410@410BD=GP410@410F40DP410@410@6l0;d10@410Kh09P41 -0@410@410@410@410@410@410J/0P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 -0@410@41:ah10@410@5L]SX10@410@41/P2c0@410@41J3Jg0@410@410KRA0@410@410KT0CP410@41 -0I00^P410@410@42^`410@410AZf<`410@410@410@410@410@410@410J/0P@410@410@410@410@41 -0@410@41PP002P410@410@412`0<0@410@410@41:ah10@410@5Z09X10@410@41K2M`0@410@41M`1A -0@410@410GXQS@410@410F8k?0410@410@45P41 -0@41CP0R0@410@410@5e0:X10@410Ie=B`410@410@4@:h410@410@410@410@410@410@410J/0P@41 -0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@41:b/jDE5ADDP0PE5ADE5ADE5A -DJ403U5ADE5l0:9ADE5ADE5ADE6SBGEADE5AWCJTDE5ADE5ADE5e>bYADE5A5jEGDE5ADE5ADE5AYZMA -DE5ADE5ADE5ADE5ADE5ADE5ADJP0P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 -0@410@41:`0000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000P@410@410@410@410@41 -0@410@41PP002P410@410@412`0<0@410@410@41APDX8YVIVY]oVIVIVIVIVIVIVITH=RJIVIU4W9VI -VIVIVIVIVITR9ifIVIUl09jIVIVIVIVIVIVIPP21VIVIBSHVVIVIVIVIVIVIW`1`VJ000@0100400@01 -00400@010040P@410@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@413ID0;@41 -8`2F0@410@410@410@5>02l10G@[H@410@410@410@41F5T10@5O:bT10@410@410@4187TE0@41UiP1 -0@410@410@414C/j0@l00@410@410@410@410@410@40P@410@410@410@410@410@410@41PP002P41 -0@410@412`0<0@410@410@413FJ:R`41S7V=0@410@410@410@4A?hh10@l0S`410@410@410@41QP2@ -0@5_1P410@410@410@410I540@6B09<10@410@410@410IAEE0l00@410@410@410@410@410@40P@41 -0@410@410@410@410@410@41PP002P410@410@412`0<0@410@410@413@j31@5;Q4X10@410@410@41 -0@41<4dA0@V50@410@410@410@41>0260HL[L`410@410@410@410HP0C`5Q05810@410@410@410CD0 -R@l00@410@410@410@410@410@40P@410@410@410@410@410@410@41PP002P410@410@412`0<0@41 -0@410@413@iP07Ae07H10@410@410@410@41M`1AN7Uj0@410@410@410@410G]H0G`0O@410@410@41 -0@410Gh7L`5oP0410@410@410@410AH7L`l00@410@410@410@410@410@40P@410@410@410@410@41 -0@410@41PP002P410@410@412`0<0@410@410@413@iT06EV96L10@410@410@410@41J3IYJP1[0@41 -0@410@410@410FTfK6e^0@410@410@410@410@5_@6`WL0410@410@410@410@5aLPl00@410@410@41 -0@410@410@40L`410@410@410@410@410@410@41JB/02P410@410@412`0<0@410@410@413@iDEA]F -E`410@410@410@410@410EQIFU]L0@410@410@410@410E40G@eN0@410@410@410@410@5O1f002`41 -0@410@410@410@4::6400@410@410@410@410@410@4XHP410@410@410@410@410@410@41HbP02P41 -0@410@412`0<0@410@410@413@h1ADH0A`410@410@410@410@410DP0BDX10@410@410@410@410D]< -C@1>0@410@410@410@410@5?035@B`410@410@410@410@5A03X00@410@410@410@410@410@413E81 -0@410@410@410@410@410@5C9`002P410@410@412`0<0@410@410@413@h1=@0f=`410@410@410@41 -0@410CP003T10@410@410@410@410@4j03/l0@410@410@410@410@41?@0n0@410@410@410@410@4A -?d000@410@410@410@410@410@40:4520@410@410@410@410@410D=4:0402P410@410@412`0<0@41 -0@410@413@h1:@0Z0@410@410@410@410@410@4L:b`10@410@410@410@410@4]02h10@410@410@41 -0@410@415@0_0@410@410@410@410@41<3400@410@410@410@410@410@410BPWP0000000000/08/>P00R4800000 -8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00R4800000:T0002@0000H0000 -0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 -9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 -30000000000Z@000900001P00000080o000000000000080oVj:<@Q=oeT<4@00030000000000Q0000 -200001`000080000B`000400000`00001@000200000100000@00010000000000000005/4000C0P00 -00000000001K10004`8002@0000T00000020?`00000000000020?i^RS48COmI30P0000`0000@0000 -00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 -10048T<0H@1/06T0HP1b06T000000000000000000030ib]100000000000000000000000000000000 -00000<3W:d40000000000000002HakXE^>6l01DDefL40000:>Rl0000001/8^h;800000d0001Hh[`0 -U4Zk5E3R_00000000000P000062LECAgGcDdMA5g8L?/hK`00H0006le=7D000000000000000000000 -0HDB/QcR_03X2cAe4GLQ``008@0AMb734GL00:cR_02fOS9e9A<007SR_01P8^h;G>Bl00T000020000 -00000=9]/GLU4i<09A<4T`0010000?oo9A>Coooooon`X`0019<406@000000000X2W^2l0<2P?Lh[`0 -k3LWMV0RkP/U4`BC2@00000000040000I7H02000000U000030000040000F0000300001P0000B0000 -30000040000H000030000000009D0000E00004H0000n0@00P00009eT<4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000005/4000C0P0000000000001K1000 -4`8002@0000T00000020?`00000000000020?dO>8DACRMI30P0000`0000@000000000000000:0000 -4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 -HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400000 -V>`:5ooooonHk0XGE0000040000AMb730000015g8L?0hK`0800000d02`1Hh[`0U4Zk5E3R_0000000 -0000P0000>2LECAgGcDdMA5g8L?/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe -4GLQ``008@0AMb734GL00:cR_02fOS9e/5D007SR_01P8^h;G>Bl00T00002000000000=9]/GN`EMT0 -/5D4f@0010000?oo/5GIoooooon`X`001=T406@000000000X2W^2jP<2P?Lh[`0k3LWMV0RkP^`E@CI -2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 -30000000009D0000E00008L2000n0@00`@800`:5ooooooXk0XG -E0000040000AMb730000015g8L?0hK`0800000d0101Hh[`0U4Zk5E3R_00000000000P000042LECAg -GcDdMA5g8L?/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe4GLQ``008@0AMb73 -4GL00:cR_02fOS9eC2L007SR_01P8^h;G>Bl00T00002000000000=9]/GM<9eh0C2L4GP0010000?oo -C2MNoooooon`X`0015h406@000000000X2W^2k0=2P?Lh[`0k3LWMV0RkP]<9`AN2@00000000040000 -I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 -E0000>@3000`000050@00;d000020000000000000000000000000040001<00000000000000000000 -oooooooooom@0000C02h@C40000U0000300000h0080X000030000040000R000030000?oooom60000 -S00008000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 -0020?`00000000000020?`00000000009T00010000040000000000Q010@H00003000008@`=/00000 -0`0043A0100<00000000024000080000HP0000`000010000C00006@000140000000000000 -50000000000@00005000 -\>"], "Graphics", - ImageSize->{245., 116.34078212290501`}, - ImageMargins->{{67, 0}, {0, 3}}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], - -Cell["The name of the component is stored in ComponentName.", "Text",ExpressionUUID->"fc663f35-5dac-409c-a0ec-6281d6b5b63c"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { - 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { - 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, - 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { - 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, - 3.8036198831731386`*^9}, {3.8036202178951073`*^9, - 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, - 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, - 3.805630308114118*^9}, 3.8058061500601473`*^9}, - ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\n", " \t", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], - ",", "\n", " \t", - RowBox[{"MechanicQnode", "[", - RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { - 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, - 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { - 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, - 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.805719883413724*^9, - 3.8057199001214886`*^9}}, - ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection",ExpressionUUID->"4495269b-b1d4-4ebd-af99-f1c375c55315"], - -Cell[BoxData[ - RowBox[{"\t", - RowBox[{ - RowBox[{ - RowBox[{"p1e", " ", "=", " ", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", - RowBox[{ - RowBox[{"fLe", "=", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", - CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { - 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.8036238380409465`*^9, - 3.8036238385036807`*^9}, {3.80492742850178*^9, 3.8049274299632716`*^9}, { - 3.8057199419343576`*^9, 3.8057199442749434`*^9}}, - ExpressionUUID -> "ed9c71e6-4eb8-4953-aa02-fa707ef6102a"], - -Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fg", " ", "=", " ", - RowBox[{"A1", " ", - RowBox[{"(", - RowBox[{"p1e", " ", "-", " ", "patm"}], ")"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { - 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, - 3.803619931058714*^9}, {3.8036204068418913`*^9, 3.8036204207829046`*^9}}, - ExpressionUUID -> "67e39f16-0148-47fe-a912-338bf5173270"], - -Cell["\<\ -Dry friction is modelled with a small linear region for low speeds for \ -numerical reasons\ -\>", "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, - 3.6326809028107214`*^9},ExpressionUUID->"36e2dac7-1064-4be5-be73-\ -60bd41e923f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Bf", "=", - RowBox[{"bfc", " ", - RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { - 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { - 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, - 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, - 3.6330608651106114`*^9}, - ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fre", "=", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"Bf", " ", "vL"}], ",", - RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, - 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, - 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, - 3.633061731221661*^9, 3.8057199451470437`*^9}, - ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"T0", "=", "1."}], ";"}]], "Input", - CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, - 3.6273207475017023`*^9, 3.803624094990635*^9}, - ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Differrential algebraic equations", "Subsection", - CellChangeTimes->{{3.5719031558017125`*^9, - 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ -663ef645837a"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"rho1", " ", ":=", " ", - FractionBox["p1", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"rho2", " ", ":=", - FractionBox["pp2", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"Tp2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", - CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, - 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}}, - ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", "=", - RowBox[{"-", "qL2"}]}], ";"}]], "Input", - CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, - 3.8057199459771876`*^9}, - ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"q1e", "=", - RowBox[{"qm1", "/", "rho1"}]}], ";"}]], "Input", - CellChangeTimes->{3.8049274368531656`*^9}, - ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"cp", "=", - RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, - ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"mL", " ", - RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", - RowBox[{ - RowBox[{"(", - RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", - RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", - RowBox[{"(", - RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", - "\[IndentingNewLine]", - RowBox[{"qm1", " ", "\[Equal]", - RowBox[{"-", " ", - RowBox[{"(", - RowBox[{ - RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", - RowBox[{"Cip", "*", - RowBox[{"(", - RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1", " ", "cp", " ", "T1"}]}]}], "\[IndentingNewLine]", - "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, - 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { - 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, - 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { - 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { - 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, - 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { - 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, - 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { - 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, - 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, - 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { - 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, - 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, { - 3.8057199467533875`*^9, 3.805719950688328*^9}}, - ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179141015143`*^9, 3.8050179155584116`*^9}}, - ExpressionUUID -> "7a00d647-ff13-455e-b6ed-630874d7c8f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"fL", " ", "==", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { - 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, - 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { - 3.8049274406392603`*^9, 3.804927442192658*^9}, {3.805719951603384*^9, - 3.8057199530498915`*^9}}, - ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], - -Cell["The vector of independent variables of the system are", "Text", - CellChangeTimes->{{3.524850810625*^9, - 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ -b44c06bce4a8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", "=", " ", - RowBox[{"{", - RowBox[{"vL", ",", "xL", ",", "qm1", ",", "dE1", ",", "p1", ",", "fL"}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { - 3.8036205546172533`*^9, 3.8036205788703737`*^9}, {3.803620736028088*^9, - 3.80362073733832*^9}, {3.803629822817831*^9, 3.8036298233096237`*^9}, { - 3.8049274430757484`*^9, 3.8049274439208755`*^9}, {3.805719953641281*^9, - 3.8057199549339485`*^9}}, - ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], - -Cell["Limitations", "Text", - CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, - 3.8036206934694366`*^9, {3.8036208660567694`*^9, - 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ -08c613090723"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"variable2Limits", "=", - RowBox[{"{", - RowBox[{"{", - RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, - 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { - 3.805719955537326*^9, 3.8057199561027427`*^9}}, - ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,460,161, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153591505*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,460,162, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153631463*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Pneumat\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"ingMass\\\\\\\ -\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \ -\\\"}\\\"}]}], \\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\ -\", RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\ -\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ -\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\ -\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ -\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSASpringMass.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"19\\\", \\\"\[RightSkeleton]\\\"}]}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,460,163,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153692401*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,460,164,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153733359*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,460,165, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153764326*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,460,166,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.8058061537972927`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,460,167, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.80580615382926*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,460,168,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.805806153861226*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,460,169,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8057199664920254`*^9, 3.8058061538941927`*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{862, 662}, -WindowMargins->{{Automatic, 499}, {156, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 497, 11, 88, "Section", - Evaluatable->False], -Cell[1079, 35, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1437, 43, 505, 12, 50, "Input"], -Cell[1945, 57, 816, 15, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2764, 74, 1797, 37, 164, "Input"], -Cell[CellGroupData[{ -Cell[4586, 115, 98, 0, 49, "Subsection"], -Cell[4687, 117, 349, 8, 49, "Text"], -Cell[5039, 127, 24610, 306, 128, "Graphics"] -}, Open ]], -Cell[CellGroupData[{ -Cell[29686, 438, 96, 0, 49, "Subsection"], -Cell[29785, 440, 125, 0, 30, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[29947, 445, 101, 0, 49, "Subsection"], -Cell[30051, 447, 3755, 84, 373, "Input"], -Cell[33809, 533, 904, 19, 69, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[34750, 557, 100, 0, 49, "Subsection"], -Cell[34853, 559, 644, 15, 50, "Input"], -Cell[35500, 576, 97, 0, 30, "Text"], -Cell[35600, 578, 440, 9, 30, "Input"], -Cell[36043, 589, 320, 7, 30, "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[36366, 598, 502, 10, 30, "Input"], -Cell[36871, 610, 567, 12, 30, "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[37441, 624, 244, 5, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[37722, 634, 183, 3, 49, "Subsection"], -Cell[37908, 639, 575, 15, 94, "Input"], -Cell[38486, 656, 243, 6, 30, "Input"], -Cell[38732, 664, 201, 5, 30, "Input"], -Cell[38936, 671, 220, 5, 30, "Input"], -Cell[39159, 678, 2269, 46, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[41465, 729, 161, 2, 49, "Subsection"], -Cell[41629, 733, 843, 19, 88, "Input"], -Cell[42475, 754, 192, 3, 30, "Text"], -Cell[42670, 759, 560, 11, 30, "Input"], -Cell[43233, 772, 230, 4, 30, "Text"], -Cell[43466, 778, 436, 10, 30, "Input"], -Cell[CellGroupData[{ -Cell[43927, 792, 122, 2, 30, "Input"], -Cell[44052, 796, 408, 8, 21, "Message"], -Cell[44463, 806, 408, 8, 21, "Message"], -Cell[44874, 816, 5406, 77, 148, "Message"], -Cell[50283, 895, 296, 6, 21, "Message"], -Cell[50582, 903, 468, 9, 39, "Message"], -Cell[51053, 914, 298, 6, 21, "Message"], -Cell[51354, 922, 467, 9, 39, "Message"], -Cell[51824, 933, 296, 6, 21, "Message"], -Cell[52123, 941, 370, 7, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPistonSASpringMass.pdf b/devPneumatic/PneumaticPistonSASpringMass.pdf deleted file mode 100644 index 4f62d9a5e19cd9aae15b685351a6fbdef2e58e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77665 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPistonSASpringMass.xml b/devPneumatic/PneumaticPistonSASpringMass.xml deleted file mode 100644 index d953bd9..0000000 --- a/devPneumatic/PneumaticPistonSASpringMass.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - Single acting pneumatic piston with spring return - PneumaticPistonSASpringMass.nb - PneumaticPistonSASpringMass.pdf - - - - - - - - diff --git a/devPneumatic/PneumaticPistonSpringMass.hpp b/devPneumatic/PneumaticPistonSpringMass.hpp deleted file mode 100644 index 2b1e526..0000000 --- a/devPneumatic/PneumaticPistonSpringMass.hpp +++ /dev/null @@ -1,529 +0,0 @@ -#ifndef PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED -#define PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPistonSpringMass.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 6 Aug 2020 18:20:10 -//! @brief Pneumatic piston with spring return -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticPistonSpringMass.nb*/ - -using namespace hopsan; - -class PneumaticPistonSpringMass : public ComponentQ -{ -private: - double A1; - double A2; - double SL; - double Cip; - double bp; - double ks; - double f0; - double fc; - double bfc; - double xmin; - double xmax; - double mL; - double bL; - double patm; - double Tatm; - double R; - double cv; - Port *mpP1; - Port *mpP2; - Port *mpPL; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[9]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port PL variable - double fL; - double xL; - double vL; - double cL; - double ZcL; - double eqMassL; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port PL pointer - double *mpP_fL; - double *mpP_xL; - double *mpP_vL; - double *mpP_cL; - double *mpP_ZcL; - double *mpP_eqMassL; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpA1; - double *mpA2; - double *mpSL; - double *mpCip; - double *mpbp; - double *mpks; - double *mpf0; - double *mpfc; - double *mpbfc; - double *mpxmin; - double *mpxmax; - double *mpmL; - double *mpbL; - double *mppatm; - double *mpTatm; - double *mpR; - double *mpcv; - //outputVariables pointers - Delay mDelayedPart10; - Delay mDelayedPart11; - Delay mDelayedPart20; - Delay mDelayedPart21; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPistonSpringMass(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(9,9); - systemEquations.create(9); - delayedPart.create(10,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpPL=addPowerPort("PL","NodeMechanic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("A1", "Piston area 1", "m2", 0.001,&mpA1); - addInputVariable("A2", "Piston area 2", "m2", 0.001,&mpA2); - addInputVariable("SL", "Stroke", "m", 0.5,&mpSL); - addInputVariable("Cip", "Leak coeff.", "m3/(s Pa)", 0.,&mpCip); - addInputVariable("bp", "Visc. friction coeff.", "N/m/s", \ -30.,&mpbp); - addInputVariable("ks", "Spring constant", "N/m", 100.,&mpks); - addInputVariable("f0", "Spring pre-load", "N", 100.,&mpf0); - addInputVariable("fc", "Dry friction (+/-)", "N", 30.,&mpfc); - addInputVariable("bfc", "Numerical friction factor.", "", \ -1.,&mpbfc); - addInputVariable("xmin", "Limitation on stroke", "m", \ -0.,&mpxmin); - addInputVariable("xmax", "Limitation on stroke", "m", \ -0.5,&mpxmax); - addInputVariable("mL", "Inertia", "kg", 100.,&mpmL); - addInputVariable("bL", "Viscous friction coefficient of load", \ -"Ns/m", 0.,&mpbL); - addInputVariable("patm", "Ambient pressure", "Pa", \ -100000.,&mppatm); - addInputVariable("Tatm", "Ambient temperature", "K", \ -297.,&mpTatm); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,9); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port P2 - mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); - mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); - mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); - mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); - mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); - mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); - //Port PL - mpP_fL=getSafeNodeDataPtr(mpPL, NodeMechanic::Force); - mpP_xL=getSafeNodeDataPtr(mpPL, NodeMechanic::Position); - mpP_vL=getSafeNodeDataPtr(mpPL, NodeMechanic::Velocity); - mpP_cL=getSafeNodeDataPtr(mpPL, NodeMechanic::WaveVariable); - mpP_ZcL=getSafeNodeDataPtr(mpPL, NodeMechanic::CharImpedance); - mpP_eqMassL=getSafeNodeDataPtr(mpPL, NodeMechanic::EquivalentMass); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - p2 = (*mpP_p2); - qm2 = (*mpP_qm2); - T2 = (*mpP_T2); - dE2 = (*mpP_dE2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port PL - fL = (*mpP_fL); - xL = (*mpP_xL); - vL = (*mpP_vL); - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - eqMassL = (*mpP_eqMassL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ -+ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ -bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ -A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - mDelayedPart11.initialize(mNstep,delayParts1[1]); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - mDelayedPart21.initialize(mNstep,delayParts2[1]); - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(9); - Vec stateVark(9); - Vec deltaStateVar(9); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - T2 = (*mpP_T2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - //Port PL - cL = (*mpP_cL); - ZcL = (*mpP_ZcL); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - A1 = (*mpA1); - A2 = (*mpA2); - SL = (*mpSL); - Cip = (*mpCip); - bp = (*mpbp); - ks = (*mpks); - f0 = (*mpf0); - fc = (*mpfc); - bfc = (*mpbfc); - xmin = (*mpxmin); - xmax = (*mpxmax); - mL = (*mpmL); - bL = (*mpbL); - patm = (*mppatm); - Tatm = (*mpTatm); - R = (*mpR); - cv = (*mpcv); - - //LocalExpressions - - //Initializing variable vector for Newton-Raphson - stateVark[0] = vL; - stateVark[1] = xL; - stateVark[2] = qm1; - stateVark[3] = qm2; - stateVark[4] = dE1; - stateVark[5] = dE2; - stateVark[6] = p1; - stateVark[7] = p2; - stateVark[8] = fL; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //PistonSpringMass - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =vL - dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax)*(-((mTimestep*(A2*c2 + cL + f0 - \ -A2*patm + ks*xL - A1*(c1 - patm + qm1*Zc1) + A2*qm2*Zc2 + \ -limit((bfc*mL*vL)/mTimestep,-fc,fc)))/(2*mL + mTimestep*(bL + bp + ZcL))) - \ -delayedPart[1][1]); - systemEquations[1] =xL - limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax); - systemEquations[2] =qm1 + (Cip*R*(patm*(-1. - 1.*T1) + p1*(1. + \ -T1)) + A1*p1*vL)/(R*(1. + T1)); - systemEquations[3] =qm2 + (Cip*R*(p1*(-1. - 1.*T2) + p2*(1. + \ -1.*T2)) - 1.*A2*p2*vL)/(R*(1. + T2)); - systemEquations[4] =dE1 - qm1*(cv + R)*T1; - systemEquations[5] =dE2 - qm2*(cv + R)*T2; - systemEquations[6] =-c1 + p1 - dE1*Zc1; - systemEquations[7] =-c2 + p2 - dE2*Zc2; - systemEquations[8] =-cL + fL - vL*ZcL; - - //Jacobian matrix - jacobianMatrix[0][0] = 1 + \ -(bfc*mL*dxLimit((bfc*mL*vL)/mTimestep,-fc,fc)*dxLimit(limit((mTimestep*vL)/2. \ -- delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + \ -ZcL)); - jacobianMatrix[0][1] = \ -(ks*mTimestep*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); - jacobianMatrix[0][2] = \ --((A1*mTimestep*Zc1*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL))); - jacobianMatrix[0][3] = \ -(A2*mTimestep*Zc2*dxLimit(limit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax),xmin,xmax))/(2*mL + mTimestep*(bL + bp + ZcL)); - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = 0; - jacobianMatrix[0][6] = 0; - jacobianMatrix[0][7] = 0; - jacobianMatrix[0][8] = 0; - jacobianMatrix[1][0] = -(mTimestep*dxLimit((mTimestep*vL)/2. - \ -delayedPart[2][1],xmin,xmax))/2.; - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = 0; - jacobianMatrix[1][6] = 0; - jacobianMatrix[1][7] = 0; - jacobianMatrix[1][8] = 0; - jacobianMatrix[2][0] = (A1*p1)/(R*(1. + T1)); - jacobianMatrix[2][1] = 0; - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = 0; - jacobianMatrix[2][6] = (Cip*R*(1. + T1) + A1*vL)/(R*(1. + T1)); - jacobianMatrix[2][7] = 0; - jacobianMatrix[2][8] = 0; - jacobianMatrix[3][0] = (-1.*A2*p2)/(R*(1. + T2)); - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = 0; - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[3][6] = (Cip*(-1. - 1.*T2))/(1. + T2); - jacobianMatrix[3][7] = (Cip*R*(1. + 1.*T2) - 1.*A2*vL)/(R*(1. + \ -T2)); - jacobianMatrix[3][8] = 0; - jacobianMatrix[4][0] = 0; - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = -((cv + R)*T1); - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[4][6] = 0; - jacobianMatrix[4][7] = 0; - jacobianMatrix[4][8] = 0; - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = 0; - jacobianMatrix[5][2] = 0; - jacobianMatrix[5][3] = -((cv + R)*T2); - jacobianMatrix[5][4] = 0; - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[5][7] = 0; - jacobianMatrix[5][8] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = 0; - jacobianMatrix[6][2] = 0; - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = -Zc1; - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; - jacobianMatrix[6][7] = 0; - jacobianMatrix[6][8] = 0; - jacobianMatrix[7][0] = 0; - jacobianMatrix[7][1] = 0; - jacobianMatrix[7][2] = 0; - jacobianMatrix[7][3] = 0; - jacobianMatrix[7][4] = 0; - jacobianMatrix[7][5] = -Zc2; - jacobianMatrix[7][6] = 0; - jacobianMatrix[7][7] = 1; - jacobianMatrix[7][8] = 0; - jacobianMatrix[8][0] = -ZcL; - jacobianMatrix[8][1] = 0; - jacobianMatrix[8][2] = 0; - jacobianMatrix[8][3] = 0; - jacobianMatrix[8][4] = 0; - jacobianMatrix[8][5] = 0; - jacobianMatrix[8][6] = 0; - jacobianMatrix[8][7] = 0; - jacobianMatrix[8][8] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - vL=stateVark[0]; - xL=stateVark[1]; - qm1=stateVark[2]; - qm2=stateVark[3]; - dE1=stateVark[4]; - dE2=stateVark[5]; - p1=stateVark[6]; - p2=stateVark[7]; - fL=stateVark[8]; - } - - //Calculate the delayed parts - delayParts1[1] = (-(A1*c1*mTimestep) + A2*c2*mTimestep + cL*mTimestep \ -+ f0*mTimestep + A1*mTimestep*patm - A2*mTimestep*patm - 2*mL*vL + \ -bL*mTimestep*vL + bp*mTimestep*vL + ks*mTimestep*xL - A1*mTimestep*qm1*Zc1 + \ -A2*mTimestep*qm2*Zc2 + mTimestep*vL*ZcL + \ -mTimestep*limit((bfc*mL*vL)/mTimestep,-fc,fc))/(2*mL + bL*mTimestep + \ -bp*mTimestep + mTimestep*ZcL); - delayParts2[1] = (-(mTimestep*vL) - 2*xL)/2.; - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port PL - (*mpP_fL)=fL; - (*mpP_xL)=xL; - (*mpP_vL)=vL; - (*mpP_eqMassL)=eqMassL; - //outputVariables - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - mDelayedPart21.update(delayParts2[1]); - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPISTONSPRINGMASS_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPistonSpringMass.nb b/devPneumatic/PneumaticPistonSpringMass.nb deleted file mode 100644 index c70396a..0000000 --- a/devPneumatic/PneumaticPistonSpringMass.nb +++ /dev/null @@ -1,984 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 47232, 976] -NotebookOptionsPosition[ 44392, 891] -NotebookOutlinePosition[ 45045, 913] -CellTagsIndexPosition[ 45002, 910] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell[TextData[{ - StyleBox["PistonSASpringMass\n", - FontFamily->"System"], - StyleBox["Single acting piston with an inertia load and spring", - FontSize->16] -}], "Section", - Evaluatable->False, - CellChangeTimes->{{3.5719259951024055`*^9, 3.571926013136037*^9}, { - 3.57192608862457*^9, 3.57192608876497*^9}, {3.8036197020529118`*^9, - 3.8036197023837223`*^9}, {3.804934837351832*^9, 3.8049348681660447`*^9}, - 3.8056303262154465`*^9}, - ExpressionUUID -> "31954995-b645-4337-bc50-649ba8eb294f"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "f1f93331-f119-44a8-b705-66c01ac211e4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8056302888340044`*^9}, - ExpressionUUID -> "fe90ed1f-017e-45fe-92a6-b32adb81be15"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049348907717276`*^9, 3.8049348932941236`*^9}, 3.8056302848011656`*^9}, - ExpressionUUID -> "d1730d11-48d4-455d-9f7b-a424e2caed55"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, 3.515394539753217*^9, { - 3.515775693875*^9, 3.5157757050625*^9}, {3.517048046727305*^9, - 3.51704806093043*^9}, 3.51707206725*^9, {3.5176530686834764`*^9, - 3.51765311057437*^9}, {3.517673126703125*^9, 3.517673126796875*^9}, { - 3.5177214423487377`*^9, 3.517721453114225*^9}, {3.5177222281793466`*^9, - 3.517722236008023*^9}, {3.5209603293125*^9, 3.520960329578125*^9}, - 3.521782180515625*^9, {3.52178222675*^9, 3.521782271609375*^9}, { - 3.521782314984375*^9, 3.52178231528125*^9}, 3.575772117551203*^9, { - 3.8036169112087297`*^9, 3.803616913764229*^9}, {3.803619695431707*^9, - 3.8036196957355328`*^9}, {3.8036197619906545`*^9, 3.8036197947778764`*^9}, - 3.8036225483578153`*^9, {3.803622762710332*^9, 3.803622766401215*^9}, { - 3.8056490732137604`*^9, 3.8056490808678637`*^9}}, - ExpressionUUID -> "7da757f2-40a0-47bc-8ded-e0aaeb1b68d2"], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3d64adcf-8d67-497f-abba-dd73498bb932"], - -Cell["\<\ -Single acting pneumatic piston with spring return connected to an inertia load. -The chamber volume is not included in the model but can be considered outside \ -the model.\ -\>", "Text", - CellChangeTimes->{ - 3.80362280378491*^9, {3.8049269528843813`*^9, 3.8049269782841835`*^9}}, - ExpressionUUID -> "abd21bd8-cde0-4513-a339-eb1237cc4233"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002CX0@0006`000160000000001H4002N0@00 -oOoooogooomj4P000PP00215CDH00040j2@00=d0000300000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000<2;A020lTP0000000000/08/>P00S4800000 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001N1000i@40000000000000GP@00>D1000T000090000;02;3X0000000000;02;3X008a2 -00000080000R000030000?oooom60000R0P007`80015CDH[:d0000`0000000007T0600`000000000 -8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00S4800000 -8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020KZM90000081^YdV0]L=8 -0000082e`dP00@61G@U@]Oo?cliM2E2 -0041PAA0080@000010000?ooool8@042>00002`000024<3K000009P0000000000030?`<000000810 -0000008@`=/000000000oaE0000@0000100000400008@083?000030000024<3K1000000P00006cQ1 -02Z3?`c<]D40:XBl4:7hLE1h;Je@HOQaD400@61 -5404P10000040000ooooo`Q01@8h0000;000008@`=/00000V000000000000<0o0`000000P4000000 -0Q30f`000000003o5D040100000400001@0000Q01P8h0000;000008@`=/00000V000000000000<0o -0`000000P40000000Q30f`000000003o24070c@0000X00000Q30f`<0000000006f@b@B[K8d93aJi0 -^77j@E;o?clYM2E20041PAE01`0@0000100000H00008@0P2>00002`000024<3K000009P000000000 -0030?`<0000008100000008@`=/000000000o`Q02@=d0000J000008@`=/:0000000003nB^47@BjE1 -K[CE@MGihD0gfQ92ZAXG@/_n=d:=S=a0PFaL@ZLJ5d;dlh12]I_L@3nfTd;c[1E2R4RV@Sa3gd1TOkQ2 -lJ`E@]1JbT9c7/]000410@410@410@615D09010000040000200000Q02P>X0000W000008@`=/@0000 -020004P;2T<0i]U0[K4<@`3VfD2Pe`i3;e8?@J3G3T>7^3U1X=L>@kYGl46Pe`i3LlD2@Zfa34KI@4UDnT84i]U000<30`430`<10`<30@<3PaA02X0@000010000?ooool8@0/2>00002`000024<3K -000009P0000000000030?`<0000008100000008@`=/000000000oaE02P0@0000100000/00008@0`2 ->00002`000024<3K000009P0000000000030?`<0000008100000008@`=/000000000o`Q03@000050000000000@0000 -500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000=000008000020000 -Bfhe_h1/=Ko_6Q53jc4/@P<0001;KSFoP6`e_h1U44>0K3FoBfhe_cUL:D8Q000020000680000<0000 -0@000240000800007P0001P00016000000000P0000`0000:00006`00010000000000 -000002<0000P0000`Z77@00000000000>6?7@;KGU4:YCHe0900002@00032XLM000000000000hHlM0 -]]ND@ZU=SD040000L`0000`0000000003@0001000016000000000580001`0@000@00010000070000 -00000000002l0P00000000L20R9C07T0L`1d06D0K@00000000000000000000000000000000000000 -00000000000000000000000000000000000WM/1@9gK@EbMfaNB/McSJ_003iZaghb0009WZ[7N?SYR` -b6l042P/7Ng3Yg7o_oooiCJ_02[KK5g00000=9]/GO@b;`E003^2fAf00P000009@0000`000010000 -AP0002P0000L0000AdA9@`80003oooooooooohl0000Y00000000024000080000HP0000`000010000 -8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 -00000080000U000030000000080U0000300000P0081F0000<0000?l100060000a@8000@100050000 -100400@0SP9I1Xh2F@H400@0100U0000300000L0080U000030000000080T000090000000P4400000 -00000000P440000000000080000R000030000?oooolj0000300000@0000Q0000200001h0000H0000 -AP000000002@0000:P0002@0000T00000020?@00000000000020?@00000000000P0005l0000h0000 -0P0003P000000000>000000000008P40600000000000000000000000000000009@0000`000020000 -9@0000`000050020EP0002`0003o0@0010000=/200060@00100000@0101I1P@0F@J>0P@0SP8U0000 -300000L0080U000030000000080T000090000000P440000000000000P440000000000080000R0000 -30000?oooolX000030000080000j0000300000X0000Q0000200001h0000H0000AP000000002@0000 -:P0002@0000T00000020?@00000000000020?@00000000000P0002D0000<00000000P2D0000<0000 -2000P5H0000`0000o`4006h0000f0`00W00000D0001T0A01I0640Gd7Q05m1a01I04@0BD0000<0000 -1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 -ooooocX0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m -000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 -000000000000000000000000000U000030000080000U0000300000D0081F0000;0000?l1001G0000 -C@<00;<000040000I04@0Gd7405m1h@1I0640BD0000<00001`00P2D0000<00000000P2@0000T0000 -0020@@00000000000020@@00000000000P000280000<0000ooooobP0000<00000P0003X0000<0000 -2P0003X0000<000010000240000800007P0001P00016000000000900000Z0000900002@00000080m -000000000000080m0000000000020000G`0003P000020000>0000000000h00000000000R0@0H0000 -000000000000000000000000000U000030000080000U0000300000D0081G0000A0000?l1000B0000 -eP8000@1000:0000JP530J@1J@140UD2f09W06X3E@8016L0UPA?0R/5J02l1Dl2B`IN02D0000<0000 -1`00P2D0000<00000000P2@0000T00000020@@00000000000020@@00000000000P000280000<0000 -ooooobP0000<00000P0003X0000<00002P0002@0000T00000020?@00000000000020?@0000000000 -0P0002D0000<00000000P1<0000<00000P0003/0000800006`000100002I2000I@0005P0000X0000 -00000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00F00002P000000000 -00000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000:000000000000000 -ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X000000000000003ooooo -ooooo`<0001n1hP0X@MU0P0000`0000400008@0000P0000N0000600004H000000000T00002X0000T000090000000P3d00000 -00000000P3d0000000000080001O0000>0000080000h0000000003P000000000028101P000000000 -0000000000000000000002D0000<00000P0002D0000<00001@00P3/0000800006`000100002I2000 -I@0005P0000X000000000000003oooooooooo`<0003426D0iPR80>H8/P0f000040000>H8003I0@00 -F00002P00000000000000?oooooooooo0`000>H810;422H2V@PV0SH0000@0000b`L002H2001H0000 -:000000000000000ooooooooool30000X@LV0Wh7109n1mT1=P000100001n1`00/P0005P0000X0000 -00000000003oooooooooo`<0001n1hP0X@MU0P0000`0000:0000>P0000`000040000 -8@0000P0000N0000600004H000000000T00002X0000T000090000000P3d0000000000000P3d00000 -00000080001O0000>0000080000h0000000003P000000000028101P0000000000000000000000000 -000002D0000<00000P0002D0000<00001@00P5L0000X0000K`800;00003K0P001P4000<0002j1Hl2 -0`Ke0ET6TP8U0000300000L0080U000030000000080T000090000000P440000000000000P4400000 -00000080000R000030000?oooolX000030000080000j0000300000X000160000500000P00017A4U3 -0`000280000<0000ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000 -ooooob80000<0000o_ooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o -0000P000080Z@000900001P00007N/I000000000003BOl=0WLZD@S^P0000000000/08/>P00S48000008D0700`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00S4800000:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 -000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 -900001P00000080o000000000000080oLKR=@_Bi_d<4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000005h4003U0@0000000000001N1000 -i@4002@0000T00000020?`00000000000020?g6hSD;d^Km30P0000`0000@000000000000000:0000 -4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 -HP1b06T000000000000000000030ib]10000000000000000000000000000000000000<3W:d400<]T -8>:l01iE/GLPh[`0_UFaM`T0000`/0l1jEFaMfcR_00`/0l1800000d0301Hh[`0U4Zk5E3R_0000000 -0000P000022LECAgGcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAe -IRHQL@008@1V9R5aIRH00:cR_02fOS9eah@007SR_01P8^h;G>Bl00T00002000000000=9]/GO7Q1@0 -ah@4500010000?ooah@Doooooon`X`0011@406@000000000X2W^2kP;2P?Lh[`0k3LWMV0RkP_7Q0@D -2@00000000040000I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 -30000000009D0000E00004L0000@0@00P@0009d100020000000000000000000000000040001<0000 -0000000000000000oooooooooom@0000<@0003/0000U0000300000h0080X000030000040000R0000 -30000?oooom60000c0000<000015CDH[:T0002@0000H00000020?`00000000000020?`0000000000 -:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 -10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o -000000000000080o0_4QA3?4_d<4@00030000000000Q0000200001`000080000B`000400000`0000 -1@000200000100000@00010000000000000005h4003U0@0000000000001N1000i@4002@0000T0000 -0020?`00000000000020?`;a8D@ca;m30P0000`0000@000000000000000:00004000000000000000 -DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 -000000000030ib]10000000000000000000000000000000000000<3W:d400000L74H7_oooom`LAPN -E0000040001V9R5a000006HV8G70hK`0800000d0301Hh[`0U4Zk5E3R_00000000000P000042LECAg -GcDdMFHV8G7/hK`00H0006le=7D0000000000000000000000HDB/QcR_03X2cAeIRHQL@008@1V9R5a -IRH00:cR_02fOS9eZh0007SR_01P8^h;G>Bl00T00002000000000=9]/GN[P9l0Zh04W`0010000?oo -Zh2Ooooooon`X`0019l406@000000000X2W^2j0;2P?Lh[`0k3LWMV0RkP^[P0BO2@00000000040000 -I7H02000000U000030000040000F0000300001P0000B000030000040000H000030000000009D0000 -E00008P2000A0@00`P8009h100020000000000000000000000000040001<00000000000000000000 -oooooooooom@0000Bl00T00002000000000=9]/GORQ6l0hX@4K`0010000?oohXA_oooooon`X`00 -16l406@000000000X2W^2`0<2P?Lh[`0k3LWMV0RkP_RQ0A_2@00000000040000I7H02000000U0000 -30000040000F0000300001P0000B000030000040000H000030000000009D0000E0000>H3000h0000 -5P@00000050000000000@0000 -5000 -\>"], "Graphics", - ImageSize->{214., 93.2513966480447}, - ImageMargins->{{63, 0}, {0, 0}}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component equations", "Subsection",ExpressionUUID->"8bf2f524-519e-45a7-9055-1e45a4a6b848"], - -Cell["The name of the component is stored in ComponentName.", "Text", - ExpressionUUID -> "fc663f35-5dac-409c-a0ec-6281d6b5b63c"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Variables and parameters", "Subsection",ExpressionUUID->"1e4f8829-3ec4-485c-aa57-d1a57cf5b02d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "A1", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "A2", ",", "0.001", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "SL", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Cip", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bp", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "ks", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "f0", ",", "100.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "fc", ",", "30.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bfc", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmin", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xmax", ",", "0.5", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "mL", ",", "10.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "bL", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "patm", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Tatm", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\n", "\t", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850755625*^9, 3.524850755640625*^9}, { - 3.633060752150016*^9, 3.633060808182619*^9}, 3.633061611957263*^9, { - 3.633061642712798*^9, 3.633061687746762*^9}, 3.63306483268377*^9, - 3.6330667585349245`*^9, {3.633066835812377*^9, 3.6330668390900326`*^9}, { - 3.803558203552576*^9, 3.8035582367775507`*^9}, {3.803619848022399*^9, - 3.8036198831731386`*^9}, {3.8036202178951073`*^9, - 3.8036203151693926`*^9}, {3.803630134252365*^9, 3.80363015872237*^9}, - 3.8049204940024214`*^9, 3.805623046058385*^9, {3.805630307497753*^9, - 3.805630308114118*^9}, 3.8058061733950777`*^9}, - ExpressionUUID -> "c3f15ec5-b2af-4737-bf36-4bf78bc4fae0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\n", " \t", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], - ",", "\n", " \t", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", "5"}]}], ",", "\"\\""}], "]"}], - ",", "\n", " \t", - RowBox[{"MechanicQnode", "[", - RowBox[{"L", ",", "0.", ",", "\"\\""}], "]"}]}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850747078125*^9, 3.524850747078125*^9}, { - 3.803557697270799*^9, 3.803557700736815*^9}, {3.803557732912421*^9, - 3.8035577352480526`*^9}, {3.8035581085123405`*^9, 3.803558114061129*^9}, { - 3.8036203911688623`*^9, 3.8036203940522156`*^9}, {3.8036239706769533`*^9, - 3.8036239731705246`*^9}, 3.8049274184941025`*^9, {3.8056491145840855`*^9, - 3.805649116927668*^9}, 3.805650388227715*^9, {3.805719215914028*^9, - 3.8057192224942408`*^9}, {3.805719918416616*^9, 3.805719925648157*^9}}, - ExpressionUUID -> "7d986df7-ec2b-4ab9-a657-78e913c3db86"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - ExpressionUUID -> "4495269b-b1d4-4ebd-af99-f1c375c55315"], - -Cell[BoxData[ - RowBox[{"\t", - RowBox[{ - RowBox[{ - RowBox[{"p1e", " ", "=", " ", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "qm1"}]}]}], ";"}], "\n", "\t", - RowBox[{ - RowBox[{"p2e", " ", "=", " ", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "qm2"}]}]}], ";"}], "\n", "\t", - RowBox[{ - RowBox[{"fLe", "=", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}], ";"}]}]}]], "Input", - CellChangeTimes->{{3.525533762265625*^9, 3.5255337993125*^9}, { - 3.803623786052718*^9, 3.8036238044331913`*^9}, {3.804927507048891*^9, - 3.8049275130466986`*^9}, {3.8049275609992347`*^9, 3.8049275630291405`*^9}, { - 3.805719576982807*^9, 3.80571957928743*^9}}, - ExpressionUUID -> "d5ca4b5d-6b32-4f2a-a76e-9a3cedf163f1"], - -Cell["The generated piston force", "Text",ExpressionUUID->"50387fc9-e70a-4ded-b8d9-401090581f2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fg", " ", "=", " ", - RowBox[{ - RowBox[{"A1", " ", "p1e"}], " ", "-", " ", - RowBox[{"A2", " ", "p2e"}], "-", - RowBox[{ - RowBox[{"(", - RowBox[{"A1", "-", "A2"}], ")"}], "patm"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.52178209578125*^9, 3.52178209959375*^9}, { - 3.525533871796875*^9, 3.525533873453125*^9}, {3.803619920496773*^9, - 3.803619931058714*^9}, 3.804927513997717*^9}, - ExpressionUUID -> "df1e64d9-2384-43c3-90cf-d959911109f0"], - -Cell["\<\ -Dry friction is modelled with a small linear region for low speeds for \ -numerical reasons\ -\>", "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326806773038225`*^9, 3.632680720320283*^9}, - 3.6326809028107214`*^9}, - ExpressionUUID -> "36e2dac7-1064-4be5-be73-60bd41e923f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Bf", "=", - RowBox[{"bfc", " ", - RowBox[{"mL", "/", "mTimestep"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.632693130341366*^9, 3.632693147399341*^9}, { - 3.632693683040978*^9, 3.632693683406999*^9}, 3.6326938099692383`*^9, { - 3.632938375020041*^9, 3.632938375792085*^9}, {3.6329384152553425`*^9, - 3.632938421068675*^9}, {3.63293920057626*^9, 3.632939201080289*^9}, - 3.6330608651106114`*^9}, - ExpressionUUID -> "2b4abe56-9c35-43c5-a2e4-02321713be85"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"fre", "=", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"Bf", " ", "vL"}], ",", - RowBox[{"-", "fc"}], ",", "fc"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}, - CellChangeTimes->{{3.6326803828739824`*^9, 3.632680423655315*^9}, - 3.6326809028107214`*^9, 3.632691667554699*^9, {3.632693062831504*^9, - 3.6326930803705072`*^9}, {3.63269316205818*^9, 3.6326931700536366`*^9}, - 3.633061731221661*^9, 3.8057195804642153`*^9}, - ExpressionUUID -> "6c43baac-b88f-4363-8c9b-4c8a4a305a8f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"T0", "=", "1."}], ";"}]], "Input", - CellChangeTimes->{{3.626812221617587*^9, 3.626812224263738*^9}, - 3.6273207475017023`*^9, 3.803624094990635*^9}, - ExpressionUUID -> "5d69c5a8-e094-47f1-b64e-013dc6ce0253"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Differrential algebraic equations", "Subsection", - CellChangeTimes->{{3.5719031558017125`*^9, - 3.571903170964939*^9}},ExpressionUUID->"7fe0feb6-d86c-4591-986a-\ -663ef645837a"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"rho1", " ", ":=", " ", - FractionBox["p1", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"T1", "+", "T0"}], ")"}]}]]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"rho2", " ", ":=", - FractionBox["p2", - RowBox[{"R", " ", - RowBox[{"(", - RowBox[{"T2", "+", "T0"}], ")"}]}]]}], ";"}]}], "Input", - CellChangeTimes->{{3.8035578706315527`*^9, 3.8035578968475013`*^9}, - 3.8035579335185966`*^9, {3.8049274347503347`*^9, 3.8049274351888824`*^9}, { - 3.8056497325247784`*^9, 3.8056497363208623`*^9}}, - ExpressionUUID -> "2e74bf96-9d95-499b-8dfd-823cd9486d65"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", "=", - RowBox[{"-", "qL2"}]}], ";"}]], "Input", - CellChangeTimes->{3.803629696094616*^9, 3.8049274364465837`*^9, - 3.8057195817349052`*^9}, - ExpressionUUID -> "ec654734-6ca0-49d3-9bab-7238c1acc4ca"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"q1e", "=", - RowBox[{"qm1", "/", "rho1"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"q2e", "=", - RowBox[{"qm2", "/", "rho2"}]}], ";"}]}], "Input", - CellChangeTimes->{ - 3.8049274368531656`*^9, {3.805649213945594*^9, 3.8056492142323008`*^9}}, - ExpressionUUID -> "58f0a749-3a01-40f2-a515-356216773dd8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"cp", "=", - RowBox[{"cv", "+", "R"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036299366110363`*^9, 3.803629943761941*^9}}, - ExpressionUUID -> "15496f6d-f603-44f4-81ac-190d7caa2531"], - -Cell[BoxData[ - RowBox[{"systemEquationsDA", " ", ":=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{ - RowBox[{"mL", " ", - RowBox[{"der", "[", "vL", "]"}]}], " ", "+", " ", - RowBox[{ - RowBox[{"(", - RowBox[{"bp", "+", "bL"}], ")"}], " ", "vL"}], " ", "+", - RowBox[{"ks", " ", "xL"}], "+", "fre", "+", "f0"}], "==", " ", - RowBox[{"(", - RowBox[{"fg", " ", "-", " ", "fLe"}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{ - RowBox[{"der", "[", "xL", "]"}], " ", "==", " ", "vL"}], ",", - "\[IndentingNewLine]", - RowBox[{"qm1", " ", "\[Equal]", - RowBox[{"-", " ", - RowBox[{"(", - RowBox[{ - RowBox[{"A1", " ", "rho1", " ", "vL"}], " ", "+", " ", - RowBox[{"Cip", "*", - RowBox[{"(", - RowBox[{"p1", "-", "patm"}], ")"}]}]}], ")"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"(", - RowBox[{ - RowBox[{"A2", " ", "rho2", " ", "vL"}], " ", "+", " ", - RowBox[{"Cip", "*", - RowBox[{"(", - RowBox[{"p1", "-", "p2"}], ")"}]}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1", " ", "cp", " ", "T1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", " ", "T2"}]}]}], "\[IndentingNewLine]", - "}"}]}]], "Input", - CellChangeTimes->{{3.524850724265625*^9, 3.524850724265625*^9}, { - 3.5248862080873957`*^9, 3.5248862098842244`*^9}, {3.525533811359375*^9, - 3.5255338209375*^9}, {3.525533863078125*^9, 3.52553386709375*^9}, { - 3.5719029473073463`*^9, 3.5719029663237796`*^9}, {3.633066779674152*^9, - 3.6330667905603285`*^9}, {3.633068987371736*^9, 3.633068987382737*^9}, { - 3.803557782477019*^9, 3.803557814363738*^9}, 3.803557979765132*^9, { - 3.8036204364479513`*^9, 3.8036204729660254`*^9}, {3.803620514089467*^9, - 3.803620572447049*^9}, {3.8036206961529016`*^9, 3.803620706105201*^9}, { - 3.8036207432377715`*^9, 3.803620748856544*^9}, {3.8036226493683176`*^9, - 3.803622649524227*^9}, {3.8036297255572224`*^9, 3.8036297390334654`*^9}, { - 3.803629777137641*^9, 3.8036297815841074`*^9}, {3.803630120177449*^9, - 3.803630121034975*^9}, 3.8036305722131157`*^9, {3.803630688936884*^9, - 3.803630689555509*^9}, {3.803631197778211*^9, 3.8036311988925724`*^9}, { - 3.803631335877505*^9, 3.803631379658409*^9}, {3.803633350612068*^9, - 3.8036333521881943`*^9}, {3.804927437467533*^9, 3.80492743999992*^9}, - 3.8056491606455727`*^9, 3.8056491960410633`*^9, {3.805719582665945*^9, - 3.8057195875119467`*^9}}, - ExpressionUUID -> "c0f6ddf3-5996-48cf-9f35-265cd630b434"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179141015143`*^9, - 3.8050179155584116`*^9}},ExpressionUUID->"7a00d647-ff13-455e-b6ed-\ -630874d7c8f9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"fL", " ", "==", " ", - RowBox[{"cL", " ", "+", " ", - RowBox[{"ZcL", " ", "vL"}]}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.52485078196875*^9, 3.52485078196875*^9}, { - 3.5719029765417976`*^9, 3.571902992984226*^9}, {3.803558010453491*^9, - 3.803558036060143*^9}, {3.8036205936249123`*^9, 3.803620594085662*^9}, { - 3.8049274406392603`*^9, 3.804927442192658*^9}, 3.8056491523531322`*^9, { - 3.8057195882741594`*^9, 3.8057195897156725`*^9}}, - ExpressionUUID -> "c505c1da-ed5c-449f-b272-04d23e3f4b84"], - -Cell["The vector of independent variables of the system are", "Text", - CellChangeTimes->{{3.524850810625*^9, - 3.52485083609375*^9}},ExpressionUUID->"234d95f5-f22d-4b03-b237-\ -b44c06bce4a8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", "=", " ", - RowBox[{"{", - RowBox[{ - "vL", ",", "xL", ",", "qm1", ",", "qm2", ",", "dE1", ",", "dE2", ",", - "p1", ",", "p2", ",", "fL"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.524850716875*^9, 3.524850716875*^9}, { - 3.8036206574574633`*^9, 3.803620685395481*^9}, {3.80362983059277*^9, - 3.8036298350652122`*^9}, {3.8049275428759294`*^9, 3.8049275439138584`*^9}, { - 3.804927576432316*^9, 3.8049275774153023`*^9}, {3.8057195907156405`*^9, - 3.805719592235074*^9}}, - ExpressionUUID -> "7a0c02af-ec95-4731-988d-56ff6ed993b6"], - -Cell["Limitations", "Text", - CellChangeTimes->{{3.524850848515625*^9, 3.524850857984375*^9}, - 3.8036206934694366`*^9, {3.8036208660567694`*^9, - 3.803620867243092*^9}},ExpressionUUID->"a332096e-b0d1-47c5-bef3-\ -08c613090723"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"variable2Limits", "=", - RowBox[{"{", - RowBox[{"{", - RowBox[{"xL", ",", "vL", ",", "xmin", ",", "xmax"}], "}"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.521781710359375*^9, 3.521781715921875*^9}, - 3.521781911703125*^9, {3.521782089203125*^9, 3.521782090109375*^9}, { - 3.805719593856402*^9, 3.8057195942719727`*^9}}, - ExpressionUUID -> "4617f6cb-6747-4001-a350-b6c77e26030b"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "49059e60-7988-4880-a53d-88f72204589f"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"1\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,124,36, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611068647*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{\\\"delayedPart\\\", \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"2\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,124,37, - 16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611112602*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Pneumati\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"ringMass\\\\\ -\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}]}], \\\"}\ -\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ -\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\ -\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \ -\\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\ -\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPistonSpringMass.svg\\\\\\\"\\\"}]}], \\\"}\ -\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ -\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"PL\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,124,38,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.8057196111465664`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,124,39,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611183529*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 124,40,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.8057196112144966`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,124,41,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.8057196112464633`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,124,42,16369274701888019615, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.8057196112754335`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,124,43,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611304404*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,124,44,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611333374*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 124,45,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.8057196113613453`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,124,46,16369274701888019615,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8056328391906824`*^9, 3.805649284712597*^9, - 3.8056495557468224`*^9, 3.8056497719391212`*^9, 3.805719374051429*^9, - 3.805719611388317*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{862, 666}, -WindowMargins->{{360, Automatic}, {143, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "0c2fb3ff-041f-4d94-8eb9-11bf5c15e2e1" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 497, 11, 88, "Section", - Evaluatable->False], -Cell[1079, 35, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1437, 43, 505, 12, 50, "Input"], -Cell[1945, 57, 816, 15, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2764, 74, 1832, 37, 164, "Input"], -Cell[CellGroupData[{ -Cell[4621, 115, 98, 0, 49, "Subsection"], -Cell[4722, 117, 347, 7, 49, "Text"], -Cell[5072, 126, 12927, 162, 102, "Graphics"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18036, 293, 96, 0, 49, "Subsection"], -Cell[18135, 295, 129, 1, 30, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18301, 301, 101, 0, 49, "Subsection"], -Cell[18405, 303, 3755, 84, 373, "Input"], -Cell[22163, 389, 1219, 25, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[23419, 419, 104, 1, 49, "Subsection"], -Cell[23526, 422, 781, 19, 69, "Input"], -Cell[24310, 443, 97, 0, 30, "Text"], -Cell[24410, 445, 501, 12, 30, "Input"], -Cell[24914, 459, 322, 7, 30, "Text", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[25239, 468, 502, 10, 30, "Input"], -Cell[25744, 480, 567, 12, 30, "Input", - CellGroupingRules->{GroupTogetherGrouping, 10000.}], -Cell[26314, 494, 244, 5, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[26595, 504, 183, 3, 49, "Subsection"], -Cell[26781, 509, 627, 16, 94, "Input"], -Cell[27411, 527, 243, 6, 30, "Input"], -Cell[27657, 535, 353, 9, 50, "Input"], -Cell[28013, 546, 220, 5, 30, "Input"], -Cell[28236, 553, 2701, 57, 164, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[30974, 615, 162, 3, 49, "Subsection"], -Cell[31139, 620, 1049, 24, 107, "Input"], -Cell[32191, 646, 192, 3, 30, "Text"], -Cell[32386, 651, 601, 12, 30, "Input"], -Cell[32990, 665, 230, 4, 30, "Text"], -Cell[33223, 671, 436, 10, 30, "Input"], -Cell[CellGroupData[{ -Cell[33684, 685, 122, 2, 30, "Input"], -Cell[33809, 689, 505, 10, 21, "Message"], -Cell[34317, 701, 505, 10, 21, "Message"], -Cell[34825, 713, 5778, 84, 148, "Message"], -Cell[40606, 799, 393, 8, 21, "Message"], -Cell[41002, 809, 537, 10, 21, "Message"], -Cell[41542, 821, 395, 8, 21, "Message"], -Cell[41940, 831, 537, 11, 21, "Message"], -Cell[42480, 844, 393, 8, 21, "Message"], -Cell[42876, 854, 465, 9, 21, "Message"], -Cell[43344, 865, 537, 10, 21, "Message"], -Cell[43884, 877, 468, 9, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPistonSpringMass.svg b/devPneumatic/PneumaticPistonSpringMass.svg deleted file mode 100644 index db049bc..0000000 --- a/devPneumatic/PneumaticPistonSpringMass.svg +++ /dev/null @@ -1,381 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPistonSpringMass.xml b/devPneumatic/PneumaticPistonSpringMass.xml deleted file mode 100644 index 7fbe4dd..0000000 --- a/devPneumatic/PneumaticPistonSpringMass.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - Double acting pneumatic piston with spring return - PneumaticPistonSASpringMass.nb - PneumaticPistonSASpringMass.pdf - - - - - - - - - diff --git a/devPneumatic/PneumaticPressureActivation.hpp b/devPneumatic/PneumaticPressureActivation.hpp deleted file mode 100644 index 863a57a..0000000 --- a/devPneumatic/PneumaticPressureActivation.hpp +++ /dev/null @@ -1,168 +0,0 @@ -#ifndef PNEUMATICPRESSUREACTIVATION_HPP_INCLUDED -#define PNEUMATICPRESSUREACTIVATION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPressureActivation.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Sat 15 Aug 2020 11:17:35 -//! @brief Pneumatic pressure activation -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticPressureActivation.nb*/ - -using namespace hopsan; - -class PneumaticPressureActivation : public ComponentQ -{ -private: - double pso; - double psmax; - Port *mpP1; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double u; - //LocalExpressions variables - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mppso; - double *mppsmax; - //outputVariables pointers - double *mpu; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPressureActivation(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("pso", "Opening pressure", "Pa", \ -800000.,&mppso); - addInputVariable("psmax", "Fully open pressure", "Pa", \ -900000.,&mppsmax); - //Add outputVariables to the component - addOutputVariable("u","Activation signal, 0Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Pressure activation", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, { - 3.806253925853056*^9, 3.8062539299768696`*^9}, 3.8062539825622435`*^9, - 3.8063243197251673`*^9, {3.8064375326311784`*^9, 3.8064375367259536`*^9}}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, - 3.8054534604791784`*^9}, - ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, - 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, - 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, - 3.805454186766837*^9}, 3.8062574975064554`*^9, 3.8062575431004257`*^9, - 3.806257597654152*^9, 3.8062576288070183`*^9, 3.8062577457783623`*^9, - 3.8062584018725967`*^9, 3.8063171021620865`*^9, 3.8063174796556993`*^9, - 3.8063179342198133`*^9, 3.806324422734913*^9, 3.8064375796177106`*^9, { - 3.80646837432477*^9, 3.8064683960433674`*^9}, 3.806471854898751*^9}, - ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9, {3.806257539853774*^9, 3.8062575401734467`*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { - 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.8062574977991533`*^9, - 3.8062575431603637`*^9, 3.806257597860939*^9, 3.8062576288879347`*^9, - 3.8062577458542833`*^9, 3.8062584021443176`*^9, 3.8063171024038363`*^9, - 3.8063174798874598`*^9, 3.8063179344945307`*^9, 3.8063244230395975`*^9, - 3.8064375800143013`*^9, {3.806468374643443*^9, 3.806468396171236*^9}, - 3.8064718551185246`*^9}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.8062539915109215`*^9, - 3.806254000378049*^9}, 3.8062574817317266`*^9, {3.8063243306099396`*^9, - 3.806324349461499*^9}, 3.806324416298551*^9, {3.806437545551852*^9, - 3.8064375658948655`*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "15", ",", "11", ",", "17", ",", - "35.1285146`9.298234679848754"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, - 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { - 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.8062574978201313`*^9, - 3.806257543180343*^9, 3.8062575978839154`*^9, 3.806257628907914*^9, - 3.8062577458752613`*^9, 3.8062584021772847`*^9, 3.8063171024388003`*^9, - 3.806317479907439*^9, 3.806317934518506*^9, 3.806324423093542*^9, - 3.806437580047267*^9, {3.8064683746843987`*^9, 3.8064683962091956`*^9}, - 3.8064718551584835`*^9}, - ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, - ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "pso", ",", "800000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "psmax", ",", "900000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9, {3.80625401777813*^9, 3.8062541519542694`*^9}, { - 3.806258362743958*^9, 3.806258363952711*^9}, {3.8063167730935216`*^9, - 3.8063168300237975`*^9}, {3.806317346248309*^9, 3.806317359230918*^9}, { - 3.8064373273928843`*^9, 3.806437327984272*^9}, {3.8064375055900707`*^9, - 3.806437508694868*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "u", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}, {3.8062576838122797`*^9, 3.8062577389893637`*^9}, - 3.8063167438396964`*^9, {3.806317084830962*^9, 3.8063170921314325`*^9}, { - 3.8064372860105677`*^9, 3.806437322996417*^9}, {3.8064683298766193`*^9, - 3.806468349307577*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], - "]"}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}, {3.8062546243356605`*^9, 3.8062546598931427`*^9}, - 3.8062575891968765`*^9, {3.806437273751213*^9, 3.8064372785123034`*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"p1", "\[Equal]", "c1"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.806471833286044*^9, 3.8064718402288837`*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"u", "\[Equal]", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"p1", "-", "pso"}], - RowBox[{"psmax", "-", "pso"}]], ")"}], ",", "0", ",", "1"}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}, - 3.8064373447759533`*^9, 3.8064374100666037`*^9, {3.80643745365664*^9, - 3.8064374562170005`*^9}, 3.8064375245025635`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell["\<\ -expressions = { - p1 == c1 - };\ -\>", "Text", - CellChangeTimes->{{3.8064718131907744`*^9, 3.806471850285509*^9}}], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticPressureActivation\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\ -\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ -\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"u\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPressureActivation\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\ -\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"PneumaticPressureActivation.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ -\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"u\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,511, - 120,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, - 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, - 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, - 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, - 3.8064683964159827`*^9}, 3.8064718554921393`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,511,121,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, - 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, - 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, - 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, - 3.8064683964159827`*^9}, 3.8064718555560737`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,511,122,16373258516650437284, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, - 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, - 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, - 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, - 3.8064683964159827`*^9}, 3.8064718555880404`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,511,123,16373258516650437284,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.806257499007907*^9, 3.806257543940558*^9, 3.806257598634142*^9, - 3.806257629773022*^9, 3.806257746580534*^9, 3.8062584030943365`*^9, - 3.80631710338982*^9, 3.806317480841476*^9, 3.806317935472522*^9, - 3.806324424062543*^9, 3.806437580337968*^9, {3.8064683750799913`*^9, - 3.8064683964159827`*^9}, 3.8064718556180086`*^9}] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData["file"], "Input", - CellChangeTimes->{{3.8062575230541034`*^9, 3.80625752411401*^9}}], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticPressureActivation.hpp\"\>"], "Output", - CellChangeTimes->{{3.806257526556491*^9, 3.8062575445019803`*^9}, - 3.8062575991955624`*^9, 3.8062576304723015`*^9, 3.8062577471559415`*^9, - 3.806258403801607*^9, 3.806317104043146*^9, 3.8063174814278708`*^9, - 3.806317936501461*^9, 3.8063244248177633`*^9, 3.8064375807335596`*^9, { - 3.806468375370692*^9, 3.806468396569824*^9}, 3.806471855712911*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1301, 757}, -WindowMargins->{{Automatic, 80}, {-55, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 470, 6, 70, "Section"], -Cell[1053, 30, 691, 10, 30, "Output"], -Cell[CellGroupData[{ -Cell[1769, 44, 484, 11, 30, "Input"], -Cell[2256, 57, 2076, 28, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[4369, 90, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4727, 98, 750, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[5492, 115, 609, 9, 30, "Output"], -Cell[CellGroupData[{ -Cell[6126, 128, 1842, 38, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7971, 168, 2429, 36, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[10437, 209, 98, 0, 49, "Subsection"], -Cell[10538, 211, 602, 9, 49, "Text"], -Cell[11143, 222, 1693, 30, 107, "Input"], -Cell[12839, 254, 1172, 21, 69, "Input"], -Cell[14014, 277, 1294, 20, 69, "Input"] -}, Open ]], -Cell[15323, 300, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[CellGroupData[{ -Cell[15493, 306, 159, 3, 41, "Subsection"], -Cell[15655, 311, 267, 6, 69, "Input"], -Cell[15925, 319, 1052, 21, 112, "Input"], -Cell[16980, 342, 125, 5, 68, "Text"], -Cell[CellGroupData[{ -Cell[17130, 351, 122, 2, 30, "Input"], -Cell[17255, 355, 5638, 81, 95, "Message"], -Cell[22896, 438, 586, 11, 21, "Message"], -Cell[23485, 451, 728, 14, 21, "Message"], -Cell[24216, 467, 586, 11, 21, "Message"] -}, Open ]], -Cell[CellGroupData[{ -Cell[24839, 483, 97, 1, 30, "Input"], -Cell[24939, 486, 505, 6, 87, "Output"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPressureActivation.svg b/devPneumatic/PneumaticPressureActivation.svg deleted file mode 100644 index a6ab3f7..0000000 --- a/devPneumatic/PneumaticPressureActivation.svg +++ /dev/null @@ -1,1346 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPressureActivation.xml b/devPneumatic/PneumaticPressureActivation.xml deleted file mode 100644 index 4262b1d..0000000 --- a/devPneumatic/PneumaticPressureActivation.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - Pneumatic Pressure Activation. - PneumaticPressureActivation.nb - PneumaticPressureActivation.pdf - - - - - - - - diff --git a/devPneumatic/PneumaticPsource.hpp b/devPneumatic/PneumaticPsource.hpp deleted file mode 100644 index 9bf7c21..0000000 --- a/devPneumatic/PneumaticPsource.hpp +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef PNEUMATICPSOURCE_HPP_INCLUDED -#define PNEUMATICPSOURCE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPsource.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 26 Aug 2020 09:10:02 -//! @brief Exhaust to ambient air -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticPsource.nb*/ - -using namespace hopsan; - -class PneumaticPsource : public ComponentC -{ -private: - Port *mpP1; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; -//==This code has been autogenerated using Compgen== - //inputVariables - double pin; - double Tin; - //outputVariables - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mppin; - double *mpTin; - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticPsource(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("pin","Pressure","Pa",100000.,&mppin); - addInputVariable("Tin","Input temperature","K",293.,&mpTin); - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - - //Read inputVariables from nodes - pin = (*mppin); - Tin = (*mpTin); - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - - //Read inputVariables from nodes - pin = (*mppin); - Tin = (*mpTin); - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - c1 = pin; - T1 = Tin; - Zc1 = 0.; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICPSOURCE_HPP_INCLUDED diff --git a/devPneumatic/PneumaticPsource.nb b/devPneumatic/PneumaticPsource.nb deleted file mode 100644 index 25d5612..0000000 --- a/devPneumatic/PneumaticPsource.nb +++ /dev/null @@ -1,277 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 11030, 269] -NotebookOptionsPosition[ 9662, 223] -NotebookOutlinePosition[ 10314, 245] -CellTagsIndexPosition[ 10271, 242] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Psource", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { - 3.8049422173232346`*^9, 3.804942220674777*^9}, {3.807355243014697*^9, - 3.8073552479983754`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{3.8048708156393595`*^9, 3.8049204063837996`*^9, - 3.8073554068326993`*^9, 3.8073561051087275`*^9, 3.8074145544575667`*^9}, - ExpressionUUID -> "98ae55da-065c-4b5f-836a-17dbb640be61"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9, 3.8073552814221153`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\\"\>"], "Output", - CellChangeTimes->{3.803622590499139*^9, 3.803622702663488*^9, - 3.803622815134305*^9, 3.803623721373517*^9, 3.8036238601093044`*^9, - 3.803623937994834*^9, 3.8036239934748945`*^9, 3.8036241341065946`*^9, - 3.8036298008030453`*^9, 3.8036298444978075`*^9, 3.803630061320653*^9, - 3.8036301755286026`*^9, 3.8036305333496456`*^9, 3.8036306272029896`*^9, - 3.8036313896297965`*^9, 3.803633367395686*^9, 3.8036344882389812`*^9, - 3.8036346470245395`*^9, 3.8038136623939295`*^9, 3.804242834707038*^9, - 3.804242875430032*^9, 3.804406806214493*^9, 3.8044068860835514`*^9, - 3.8048706919958982`*^9, 3.8048708156023965`*^9, 3.8049204063398457`*^9, - 3.8073554069017377`*^9, 3.8073561051777563`*^9, 3.807414554486539*^9}, - ExpressionUUID -> "73a48a58-ad2e-40dc-bf53-0fdb098702fc"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}, {3.8074145916550436`*^9, - 3.8074145942054143`*^9}}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.8049421893950415`*^9, 3.804942209842949*^9}, { - 3.807355253646018*^9, 3.8073552597153606`*^9}, 3.8074145428645215`*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "26", ",", "9", ",", "9", ",", - "14.5005229`8.91395861448468"}], "}"}]], "Output", - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, 3.8073554069642305`*^9, - 3.807356105240232*^9, 3.8074145545175066`*^9}, - ExpressionUUID -> "ec7aa9b0-43a5-40fc-9a12-96132f1b61a2"] -}, Open ]], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "pin", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Tin", ",", "293.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.804942099979274*^9, 3.8049421534511175`*^9}, {3.804942236025941*^9, - 3.8049422391377306`*^9}, {3.8061260347791276`*^9, 3.806126053768955*^9}}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.804942088899703*^9, - 3.8049420899236465`*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"c1", "\[Equal]", "pin"}], ",", "\[IndentingNewLine]", - RowBox[{"T1", "\[Equal]", "Tin"}], ",", "\[IndentingNewLine]", - RowBox[{"Zc1", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.804870613309064*^9, 3.8048706633414555`*^9, {3.804941709304257*^9, - 3.8049417911847982`*^9}, {3.804941848960205*^9, 3.804941922326524*^9}, { - 3.8049419636129365`*^9, 3.8049419756045685`*^9}, {3.8049420136283455`*^9, - 3.804942023779874*^9}, 3.8073560876930985`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { - 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, - 3.626788084646427*^9}, - ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{872, 694}, -WindowMargins->{{Automatic, 440}, {53, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 332, 5, 70, "Section"], -Cell[914, 29, 337, 4, 30, "Output"], -Cell[CellGroupData[{ -Cell[1276, 37, 468, 10, 30, "Input"], -Cell[1747, 49, 894, 12, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[2678, 66, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3036, 74, 782, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[3855, 94, 1514, 32, 183, "Input"], -Cell[5372, 128, 1219, 19, 30, "Output"] -}, Open ]], -Cell[6606, 150, 907, 19, 88, "Input"], -Cell[7516, 171, 771, 14, 69, "Input"], -Cell[CellGroupData[{ -Cell[8312, 189, 88, 0, 49, "Subsection"], -Cell[8403, 191, 146, 2, 30, "Text"], -Cell[8552, 195, 699, 14, 107, "Input"], -Cell[9254, 211, 255, 4, 30, "Input"], -Cell[9512, 217, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticPsourceM.hpp b/devPneumatic/PneumaticPsourceM.hpp deleted file mode 100644 index cefcbb8..0000000 --- a/devPneumatic/PneumaticPsourceM.hpp +++ /dev/null @@ -1,136 +0,0 @@ -#ifndef PNEUMATICPSOURCEM_HPP_INCLUDED -#define PNEUMATICPSOURCEM_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPsourceM.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 11 Aug 2020 11:21:36 -//! @brief Pressure source -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from - - -using namespace hopsan; - - class PneumaticPsourceM : public ComponentC - { - - private: - double mPh; - double V,R,cv,Tin,pin,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; - Port *mpP1; - size_t mNumPorts; - std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; - double *mpV, *mpR, *mpcv,*mppin,*mpTin, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; - - std::vector mvCnew; - std::vector mvC0; - - public: - static Component *Creator() - { - return new PneumaticPsourceM(); - } - - void configure() - { - //Add ports to the component - mpP1 = addPowerMultiPort("P1", "NodePneumatic"); - - - //Add inputParammeters to the component - addInputVariable("pin","Pressure","Pa",100000.,&mppin); - addInputVariable("Tin","Input temperature","K",293.,&mpTin); - - setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); - setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); - setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); - - //Add outputVariables to the mass - - } - - - void initialize() - { -// double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; - //Read inputParameters from nodes - pin = (*mppin); - Tin = (*mpTin); - - //Read outputVariables from nodes - - - mNumPorts = mpP1->getNumPorts(); - mvpP1_p.resize(mNumPorts); - mvpP1_qm.resize(mNumPorts); - mvpP1_T.resize(mNumPorts); - mvpP1_dE.resize(mNumPorts); - mvpP1_c.resize(mNumPorts); - mvpP1_Zc.resize(mNumPorts); - - - //InitialExpressions -// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); - ZcE = 0.; - - for (size_t i=0; i - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticPsourceM.xml b/devPneumatic/PneumaticPsourceM.xml deleted file mode 100644 index 0ea52c9..0000000 --- a/devPneumatic/PneumaticPsourceM.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - Pnenumatic multiport pressure source. - PneumaticPsourceM.pdf - - - - - - - - - diff --git a/devPneumatic/PneumaticRestrictor.hpp b/devPneumatic/PneumaticRestrictor.hpp deleted file mode 100644 index 9f950a0..0000000 --- a/devPneumatic/PneumaticRestrictor.hpp +++ /dev/null @@ -1,421 +0,0 @@ -#ifndef PNEUMATICRESTRICTOR_HPP_INCLUDED -#define PNEUMATICRESTRICTOR_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticRestrictor.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:48:14 -//! @brief Pneumatic restrictor -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticRestrictor.nb*/ - -using namespace hopsan; - -class PneumaticRestrictor : public ComponentQ -{ -private: - double Bf; - double Cf; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[7]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double qmP; - double qmN; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqmP; - double *mpqmN; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticRestrictor(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(7,7); - systemEquations.create(7); - delayedPart.create(8,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - //Add inputVariables to the component - - //Add inputParammeters to the component - addInputVariable("Bf", "B, ISO critical pressure ratio", "", \ -0.528,&mpBf); - addInputVariable("Cf", "C, ISO flow coefficient", "", \ -1.e-14,&mpCf); - addInputVariable("p0", "Nominal pressure", "Pa", 100000.,&mpp0); - addInputVariable("T0", "Nominal temperature", "K", 297.,&mpT0); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718,&mpcv); - addInputVariable("eps", "Linearisation coeff", "", 0.02,&mpeps); - //Add outputVariables to the component - addOutputVariable("qmP","Internal variable","kg/s",0.,&mpqmP); - addOutputVariable("qmN","Internal variable","kg/s",0.,&mpqmN); - -//==This code has been autogenerated using Compgen== - //Add constantParameters - mpSolver = new EquationSystemSolver(this,7); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port P1 - mpP_p1=getSafeNodeDataPtr(mpP1, NodePneumatic::Pressure); - mpP_qm1=getSafeNodeDataPtr(mpP1, NodePneumatic::MassFlow); - mpP_T1=getSafeNodeDataPtr(mpP1, NodePneumatic::Temperature); - mpP_dE1=getSafeNodeDataPtr(mpP1, NodePneumatic::EnergyFlow); - mpP_c1=getSafeNodeDataPtr(mpP1, NodePneumatic::WaveVariable); - mpP_Zc1=getSafeNodeDataPtr(mpP1, NodePneumatic::CharImpedance); - //Port P2 - mpP_p2=getSafeNodeDataPtr(mpP2, NodePneumatic::Pressure); - mpP_qm2=getSafeNodeDataPtr(mpP2, NodePneumatic::MassFlow); - mpP_T2=getSafeNodeDataPtr(mpP2, NodePneumatic::Temperature); - mpP_dE2=getSafeNodeDataPtr(mpP2, NodePneumatic::EnergyFlow); - mpP_c2=getSafeNodeDataPtr(mpP2, NodePneumatic::WaveVariable); - mpP_Zc2=getSafeNodeDataPtr(mpP2, NodePneumatic::CharImpedance); - - //Read variables from nodes - //Port P1 - p1 = (*mpP_p1); - qm1 = (*mpP_qm1); - T1 = (*mpP_T1); - dE1 = (*mpP_dE1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - p2 = (*mpP_p2); - qm2 = (*mpP_qm2); - T2 = (*mpP_T2); - dE2 = (*mpP_dE2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //Read outputVariables from nodes - qmP = (*mpqmP); - qmN = (*mpqmN); - -//==This code has been autogenerated using Compgen== - - //LocalExpressions - cp = cv + R; - - //Initialize delays - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - Vec stateVar(7); - Vec stateVark(7); - Vec deltaStateVar(7); - - //Read variables from nodes - //Port P1 - T1 = (*mpP_T1); - c1 = (*mpP_c1); - Zc1 = (*mpP_Zc1); - //Port P2 - T2 = (*mpP_T2); - c2 = (*mpP_c2); - Zc2 = (*mpP_Zc2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - Bf = (*mpBf); - Cf = (*mpCf); - p0 = (*mpp0); - T0 = (*mpT0); - R = (*mpR); - cv = (*mpcv); - eps = (*mpeps); - - //LocalExpressions - cp = cv + R; - - //Initializing variable vector for Newton-Raphson - stateVark[0] = qmP; - stateVark[1] = qmN; - stateVark[2] = qm2; - stateVark[3] = dE1; - stateVark[4] = dE2; - stateVark[5] = p1; - stateVark[6] = p2; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //Restrictor - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =qmP - Cf*p0*p1*Sqrt(T0/T1)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[1] =qmN - Cf*p0*p2*Sqrt(T0/T2)*(onNegative(-Bf + \ -p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - systemEquations[2] =qm2 + qmN*onNegative(p1 - p2) - \ -qmP*onPositive(p1 - p2); - systemEquations[3] =dE1 + cp*qm2*(T1*onNegative(-qm2) + \ -T2*onPositive(-qm2)); - systemEquations[4] =dE2 - cp*qm2*(T2*onNegative(qm2) + \ -T1*onPositive(qm2)); - systemEquations[5] =-c1 + p1 - dE1*Zc1; - systemEquations[6] =-c2 + p2 - dE2*Zc2; - - //Jacobian matrix - jacobianMatrix[0][0] = 1; - jacobianMatrix[0][1] = 0; - jacobianMatrix[0][2] = 0; - jacobianMatrix[0][3] = 0; - jacobianMatrix[0][4] = 0; - jacobianMatrix[0][5] = -(Cf*p0*p1*Sqrt(T0/T1)*((-2*(p1 - \ -Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))) - \ -Cf*p0*Sqrt(T0/T1)*(onNegative(-Bf + p1/p2)*onNegative(p1 - p2) + \ -onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + onPositive(p1 - \ -p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) + \ -p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[0][6] = -(Cf*p0*p1*Sqrt(T0/T1)*(((2*Bf*(p1 - \ -Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ -(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))); - jacobianMatrix[1][0] = 0; - jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = 0; - jacobianMatrix[1][3] = 0; - jacobianMatrix[1][4] = 0; - jacobianMatrix[1][5] = -(Cf*p0*p2*Sqrt(T0/T2)*((-2*(p1 - \ -Bf*p2)*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + \ -p1/p2))/(Power(-1 + Bf,2)*Power(p2,2)) + ((2*Bf*(-(Bf*p1) + p2))/(Power(-1 + \ -Bf,2)*Power(p1,2)) + (2*Power(-(Bf*p1) + p2,2))/(Power(-1 + \ -Bf,2)*Power(p1,3)))*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + p2/p1))); - jacobianMatrix[1][6] = -(Cf*p0*p2*Sqrt(T0/T2)*(((2*Bf*(p1 - \ -Bf*p2))/(Power(-1 + Bf,2)*Power(p2,2)) + (2*Power(p1 - Bf*p2,2))/(Power(-1 + \ -Bf,2)*Power(p2,3)))*dxSignedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)*onNegative(p1 - p2)*onPositive(-Bf + p1/p2) - \ -(2*(-(Bf*p1) + p2)*dxSignedSquareL(1 - Power(-(Bf*p1) + p2,2)/(Power(-1 + \ -Bf,2)*Power(p1,2)),eps)*onPositive(p1 - p2)*onPositive(-Bf + \ -p2/p1))/(Power(-1 + Bf,2)*Power(p1,2)))) - Cf*p0*Sqrt(T0/T2)*(onNegative(-Bf \ -+ p1/p2)*onNegative(p1 - p2) + onNegative(-Bf + p2/p1)*onPositive(p1 - p2) + \ -onPositive(p1 - p2)*onPositive(-Bf + p2/p1)*signedSquareL(1 - Power(-(Bf*p1) \ -+ p2,2)/(Power(-1 + Bf,2)*Power(p1,2)),eps) + onNegative(p1 - \ -p2)*onPositive(-Bf + p1/p2)*signedSquareL(1 - Power(p1 - Bf*p2,2)/(Power(-1 + \ -Bf,2)*Power(p2,2)),eps)); - jacobianMatrix[2][0] = -onPositive(p1 - p2); - jacobianMatrix[2][1] = onNegative(p1 - p2); - jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = 0; - jacobianMatrix[2][4] = 0; - jacobianMatrix[2][5] = 0; - jacobianMatrix[2][6] = 0; - jacobianMatrix[3][0] = 0; - jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = cp*(T1*onNegative(-qm2) + \ -T2*onPositive(-qm2)); - jacobianMatrix[3][3] = 1; - jacobianMatrix[3][4] = 0; - jacobianMatrix[3][5] = 0; - jacobianMatrix[3][6] = 0; - jacobianMatrix[4][0] = 0; - jacobianMatrix[4][1] = 0; - jacobianMatrix[4][2] = -(cp*(T2*onNegative(qm2) + \ -T1*onPositive(qm2))); - jacobianMatrix[4][3] = 0; - jacobianMatrix[4][4] = 1; - jacobianMatrix[4][5] = 0; - jacobianMatrix[4][6] = 0; - jacobianMatrix[5][0] = 0; - jacobianMatrix[5][1] = 0; - jacobianMatrix[5][2] = 0; - jacobianMatrix[5][3] = -Zc1; - jacobianMatrix[5][4] = 0; - jacobianMatrix[5][5] = 1; - jacobianMatrix[5][6] = 0; - jacobianMatrix[6][0] = 0; - jacobianMatrix[6][1] = 0; - jacobianMatrix[6][2] = 0; - jacobianMatrix[6][3] = 0; - jacobianMatrix[6][4] = -Zc2; - jacobianMatrix[6][5] = 0; - jacobianMatrix[6][6] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - qmP=stateVark[0]; - qmN=stateVark[1]; - qm2=stateVark[2]; - dE1=stateVark[3]; - dE2=stateVark[4]; - p1=stateVark[5]; - p2=stateVark[6]; - //Expressions - qm1 = -qm2; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //outputVariables - (*mpqmP)=qmP; - (*mpqmN)=qmN; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICRESTRICTOR_HPP_INCLUDED diff --git a/devPneumatic/PneumaticRestrictor.nb b/devPneumatic/PneumaticRestrictor.nb deleted file mode 100644 index a7cdd14..0000000 --- a/devPneumatic/PneumaticRestrictor.nb +++ /dev/null @@ -1,736 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 33197, 728] -NotebookOptionsPosition[ 30777, 653] -NotebookOutlinePosition[ 31429, 675] -CellTagsIndexPosition[ 31386, 672] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Restrictor", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, { - 3.8056149554872293`*^9, 3.8056149578457985`*^9}}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9, 3.8050176650180016`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, 3.805022093004465*^9, {3.8056149610634813`*^9, - 3.8056149685627427`*^9}, 3.8056280124531794`*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "48", ",", - "12.7417257`8.857803207916582"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, - 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, - 3.8051078642885723`*^9, 3.8056150680541162`*^9, 3.8056237588861*^9, - 3.805624092803662*^9}, - ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], - -Cell[BoxData[ - RowBox[{"eps", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, - 3.805022093004465*^9}, - ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], - -Cell[TextData[{ - "This is a simple fixed pneumatic restrictor with two ports. \n\n", - Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0001OT0@0006`00016000000000103000<0@00 -oOoooogooolU3P00Q@@00215CDH00040i1L006l0000300000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001FA000RDP0000000000/08/>P0084<00000 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001H0`004P40000000000000F0<00181000T000090000;02;3X0000000000;02;3X00213 -00000080000R000030000?oooom60000l0H00>@60015CDH[:d0000`0000000007T0600`000000000 -8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P0084<00000 -8D0700`00000000024000c`0000`00000Q30f`@000000000000000000020;4Q90000080/B4V0;X0000W000008@`=/@000000000:A6jd:agR53nd[[@[7N8D=oC^]2JnDQ@gm>jd:gkB53 -Odk[@^k0;4=oC^]2>/T/@o]:jd;dcba3Y4K[@_C?;4=EbKi2m00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 -0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000VYTI?`<000000810 -0000008@`=/000000000o`Q00`00002`000024<3K000009P000000000VYTI?`<0000008100000008@`=/000000000o`Q01`=H0000 -C000008@`=/7000002000;lBbT9DI2U3_a;:@UAT:D?`RLi2`U4X@e/ceD8mBBQ3aMcK@[I0:4?UTN12 -E6@Y@nFAh49DI2U300<30`<30`4E@0L0400000@000060000:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 -0020?`00000000000020?`00000000009T00010000040000000000Q020@H00003000008@`=/00000 -0`0043A0200<00000000024000080000HP0000`000010000C00006@0003moooooOoooeP0000]0000 -oOoooogooomL0000<@0002T0ZP00000000000000P3l0000000000000P3l000000000000000000000 -000000000000000000000280000<0000ooooodH0000L0000400004E=AR/2@00030000000000>0000 -50000000000@0000500000Q00PPT00006000008@`=/100000`00000000000000000001]00@100000 -=000008000020000Bfhe_h1/=Klgnje2PoT_@P<0001;KSFoP6`e_eZ@[4:0K3FoBfhe_m4S;D8Q0000 -20000680000<00000@000240000800007P0001P0002P000000000;X2000=0@00700000P0000Q0000 -2000024000080000L`0000`000000000700000P0000U000030000000080U0000300000L0080U0000 -300000h0080I000030000?ooo`0H000030000000000B000030000080000C000030000040000D0000 -300000d0000E000030000040000F000030000000000=00004000000000000000>P0000`0000:0000 -6`00010000000000000002<0000P0000k=G7@00000000000XGS7@09]94?EG8e0900002@0003/eLM0 -00000000002QN5?042P/7NA[X_ko_ooo`CJC`2[KK5g00000=9]/GL@9=P0000`0000400008@0000P0000N0000600000000000000000000000000T0000 -90000000P3d0000000000000P3d0000000000080001O0000>0000080000h0000000003P000000000 -02810200000000000000000000000000000002D0000<00000P0002D0000<00001@00P3/000080000 -6`000100001;1@00200005P0000X000000000000003oooooooooo`<0001;1@P0C0D:04`5300f0000 -400004`5002K0P00F00002P00000000000000?oooooooooo0`0004`5W@9;1Ih2B`FN0SH0000@0000 -2@0009h2001H0000:000000000000000ooooooooool300002@2N0PP0W@8809/2=P00010000080000 -300005P0000X000000000000003oooooooooo`<0000800X02@0800T0200m0000200003`000080000 -@00001P00000000000000?oooooooooo9@0000`0000700209@0000`000000020900002@000000811 -000000000000081100000000000200008P0000`0003ooooo:00000`000020000>P0000`0000:0000 -AP0001@000080000AdA9@`<0000R000030000?oooolR000030000?oooolU0000300000d0080X0000 -30000040000R000030000?oooolR000030000?kooom60000o0400?010015CDH[;40002@0000H0000 -0020?`00000000000020?`0008000020:T0002@0000H00001NS5@000000000007j[3@19R94P0000000000/08/>P0084<00000940000`000000000:d0000`000000000 -7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P000080005I4 -0029@cA00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213 -000002501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00213000002Y0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 -8D0700`000000000:T0002@0000H00000020?`00000000000020?nBL=DBXORa3140000`000000000 -8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000001H0`00 -4P40000000000000F0<00181000T000090000000P3l0000000000000P3oTW3E4Z7h/@`80000<0000 -40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 -000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 -000000000030ib]100010000001=0000000002SQC`0A0000100009SWC`1HhTl0@:2`Me6]Ro_noooo -`>5?05?0060001_=CAe0000000000000000 -00000:PEmhj9?0>`g9gKPDoX9;1T410T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 -4P0000`000010000600000`000000002E00005@0003F0P00?P000103003;00000P00000000000000 -0000000000010000C00000000000000000000?ooooooooooD0000380H>0k00009@0000`0000>0020 -:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?i0MS4:XORa3140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001H0`004P40000000000000 -F0<00181000T000090000000P3l0000000000000P3n@7Ha2Z7h/@`80000<00004000000000000000 -2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 -K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 -00010000001=0000000005@0000A0000SChQm@00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 -JWL4o`T000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@000160000?P000800003;00000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340Z/Hk00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -X0000000002i0P0030400:00000000006P8000d1000Y0:X0000000000000080o000000000000080o -0000000000000000000000000000000000000000000R000030000?oooom60000700001000015CDH[ -0T0000`0000000003P0001@000000000400001@0 -\>"], "Graphics", - GeneratedCell->False, - CellAutoOverwrite->False, - ImageSize->{234., 75.15328467153284}, - ImageMargins->{{0, 0}, {0, 80}}] -}], "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050228848734484`*^9, 3.8050229142901974`*^9}, {3.8056281158824916`*^9, - 3.8056281567183695`*^9}}, - ExpressionUUID -> "f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "14"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, - 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { - 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, - 3.805107447216238*^9}, {3.8056237387208996`*^9, 3.8056237519422646`*^9}, { - 3.8056240840007424`*^9, 3.8056240846780434`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, - 3.805022852714327*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The input signal is limited between 0 and 1.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, - 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Cfe", "=", "Cf"}], " ", ";"}]], "Input", - CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { - 3.8051070382200217`*^9, 3.805107097045391*^9}, 3.8056150177300262`*^9}, - ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", " ", "=", " ", - RowBox[{"-", "qm2"}]}], ";"}]], "Input", - CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, - 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, - 3.8048706405459685`*^9}, - ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], - -Cell[BoxData[ - RowBox[{"NgPos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, - ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], - -Cell[BoxData[ - RowBox[{"NgNeg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, - ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], - ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, - 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { - 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, - 3.8051078460746803`*^9}, {3.8056150485602245`*^9, 3.8056150501685653`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell["Expressions that are evaluated before the system equations", "Text", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { - 3.80502217704597*^9, - 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { - 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, - 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { - 3.805022272779731*^9, - 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ -3c55a8691acc"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmP", "==", - RowBox[{"Cfe", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qmN", "==", - RowBox[{"Cfe", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm2", "==", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1e", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], - ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, - 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { - 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, - 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { - 3.805107119679675*^9, 3.805107124187194*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.805017881102742*^9, - 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, - 3.8048706590878425`*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", - "p2"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, - 3.804870662382444*^9}}, - ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"qm1", "==", - RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { - 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, - 3.626788084646427*^9}, - ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] -}, Open ]] -}, Open ]] -}, -WindowSize->{834, 649}, -WindowMargins->{{Automatic, 323}, {14, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 287, 4, 70, "Section"], -Cell[869, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1227, 36, 533, 12, 50, "Input"], -Cell[1763, 50, 814, 15, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2602, 69, 1617, 35, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4222, 106, 1393, 22, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[5618, 130, 255, 5, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[5910, 140, 98, 0, 41, "Subsection"], -Cell[6011, 142, 8815, 115, 137, "Text"], -Cell[14829, 259, 2139, 46, 196, "Input"], -Cell[16971, 307, 721, 17, 88, "Input"], -Cell[17695, 326, 935, 18, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[18667, 349, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[18815, 353, 236, 4, 30, "Text"], -Cell[19054, 359, 278, 5, 30, "Input"], -Cell[19335, 366, 214, 5, 30, "Text"], -Cell[19552, 373, 315, 7, 30, "Input"], -Cell[19870, 382, 1034, 23, 74, "Input"], -Cell[20907, 407, 981, 22, 74, "Input"], -Cell[21891, 431, 1617, 41, 94, "Input"], -Cell[23511, 474, 252, 4, 30, "Text"], -Cell[23766, 480, 793, 15, 69, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[24596, 500, 224, 4, 49, "Subsection"], -Cell[24823, 506, 3111, 64, 229, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[27971, 575, 160, 3, 49, "Subsection"], -Cell[28134, 580, 816, 19, 88, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[28987, 604, 174, 3, 49, "Subsection"], -Cell[29164, 609, 592, 12, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[29793, 626, 88, 0, 49, "Subsection"], -Cell[29884, 628, 146, 2, 30, "Text"], -Cell[30033, 632, 333, 7, 69, "Input"], -Cell[30369, 641, 255, 4, 30, "Input"], -Cell[30627, 647, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticRestrictor.pdf b/devPneumatic/PneumaticRestrictor.pdf deleted file mode 100644 index e3e23303e029e04b14d502af03e71417de51c54f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75125 zcmce71ymkO(FS!EuIirZKF>2nD9tZONlV2DNmzGU{tQWvOM`2vV*<&}j!P}BZ((R>gv;Wc|V(J+v)S`>sspRLvnIL+S=LZYnwwlrHv`7%dM~=x!+ezUg&*O60X)C zp*%f7s;9I|%p*J%+wA%(Y9(T(%f?+W^Q&Dkfs1!nx*K-pr!GF}-CWbXTDq&fIRfTG zoJ<6S0bU?2bkJtnGf8I7T2Pj;b{m#bnAR{K8NBy~!?xV0^rq~Ivk^^$12L>MM2-g_&2{T1KCrzqBk7wmpOz6KONArzjC(yb;SpMDg=1Is$NeLTp< zNO$kOpcY=3qetj;AM2k!Z{V9=NjqMF-sg%zE5Ya5R4kA|fxZ}Y=6E_M)ledvFX2>+duzPK|O^H6fExPbp%5DoD0DctjN}3AljU>L+POR^w(3W-r<| z4X1V~EzMkh=aEEAj!SQg<)_+{L63yp4NuEUe(akTTS@SK+iwbfo0I#rTRW2H3KFpU z3B)F#=)MKwWfH*&f8;aCNzzjX{l1+R8d3IzT5;#%jvaR2&|cRuy!j!_pgZ-cwVGbd zfh+R*Sec_vOaF@i_Q;T@ciX8Ib?vq0DZR-y$3q53Uvxr+lqpjX%FjG1(o`4Oyex+u z-FA}EuO8YE_2~-KTjaMd!wGjd{WCRA-cUWJ&*7Jw5h}`wXPWj?b}YnqQ#vR@BE>Q| z!fj3z1cHp4b>9j$^j37WGLZIzoXL6)a8PY~8s+V~b#y6Th|t`iG31 zvvFk4S@L*=4>FyH=T^A|%{kgoTpQ)Xgy*f_Fo+HdQ=bay#|?K{zBS!E2%7Fhw& zX&dZL-l&MUQ--KCrwqlcqR}$RPnDBsaD?D~t2To>QS`!5AAQo|m|o|RPYD$2P(z-^ zg%_V=J)uo3lsb|-3T}p#g=^71;AxWcuS^BSd>*{!6HlJXt>2tdLdj(xPhn6mszP#^ z!u{cAymBh8s64T=h$uLQt=13f(*c2e$(}005PZIirXQY@BPl**uBMT5#U!Adk_alu z7+@Ou#Jg0k0tzQ5s@6ezMpX+vNgt`TQY<0V;)wT6xJ)YYoE7)Q2QsMW7*y%zE z>=||e(JGYYDS~AP<)=s--*k~hmL{B00r+V4Ewig-oa_k#??LLEU7iwrV>3j&1a=^s zc)U0V%+QKR`b!dhRqjYPi#qo>lR4iCS8JL5_Qeejhu1E^@aBukT-TUai%#@{Pa3)N z@lp%?z+v`1HY3zo)3|RYa>Kbuhz0kR3FH9~mktzC>C{ z(KK3JpHs5ejx@y>)pJ}t6vdzy$R)i#fmcCz zBxj-7%G16~qNsHu|M#g6g?`wHdjVTSXZ z9dDDt14@yJytWUPrUZO8$ezd1);&VS(|o4XT#_&&uO1{)&mma z=vr!NvO19?an$*$cAS;6&KP_*^n@CQ18WMYZ=v^B*nYqI2>2gS{^R@}=V=)j z={^)bigf>24}Pxz0#0^9a(3_0AD5l|L-77btxfY@z@_Hn!KKBe*42JLzOM=I6@QM@ zN>Vx|`nq<%b(~mnSwB{jzv~1oEj}v#Zpna>hLQ%C@$dEKqj3XD+IJDtzl-SJMa=&$ zqJI~${JV&bk`|Yi=5N`1Z{B}@Sw&0xF8(m@qvP_-@J^1lP{S{&z1vOy_&o;@5XD*4394;{8zh%b~LRwwCrby85=b zAA=+NFJ^uC_HV2HTD)oh=zO&IpH}Y=`Jev%HB7&alC#&b`|T7F^S`~KXsq|X6`*Be z`K=(VZ)|8}hs((DyToT{W@#g5rLFt!#y=evveEu+6t&2^cWkUIKlTf_2HIw}e_YIK zY-cO2Z^LJ4Ze?ll;cS+F+eVzuSHX1Czzc49@>s?pu=Ah@OL^Ka*T%)2ReRI=p{yZy z3T(UIig;A(FSP*!004AOnA?u1w~wcC%@^x!R5-V|P4(=KC5w)o)E<7Tmsd$=RTnhT z+1Hk_C%W?pkhEocCjCaeqohuJK+*ij_n4loJ8^DC=Bh=}QsXbl(P1mQ$$E5{J~g^K zuC-_KU16-c9e>2BAu}!2&J7r8?Kv`4^LU{A^ZSDVUNYGf{ejT_>)Z6(?H@z&?qFJG z)_=^qzu&Td*&>oDDQ+L`mF;}=xAb7&~qs%!4 zCV|`3LKqU%LQu&CqdcY3k222o#!o`Tlq0kU_2w)b6&HTa9%gK0DeRmfjV+kbZ!Q@-JX#r>n=^5CtZHiR`*G8R!R1-! zC z)Vp9^#DQe?I5{n4%c!2mlsjBpJ!NCG$$NgF`9;QD#TZh{4$}%P9TTI6E>V}4 zpPxUigfc4bWXMT4)|6W3#a=d#~o5;7c>zm`uU&q3iY_wO>hp9n1 zUdYoZQs?H%B!Vap(fw=g2g5XR3>XKSte`B&W%#|5bP>;l%Y|8+^FrooH1R?S+ui)$ zTZCtuvi0EntJLncBdX*6>)w-#t=OA>pr@CVKgK9*<}&d^T)wSbW_w#)jU?#0-Xd$t zZ5dJoSjp}@vH4^(&4F?E71-L=mtMQVjS)&Y%~t28CJE)MJ|ysdg&%jmSM3enOj_oi zON!zA#7fMNdIh@Z@BpmS%u4lD1pe5i)2}fK{hQ7w(I&M2OxP=ehwAXSPh^-D~@L17g1&yk}i#;RWV8Mufv)s#-zww%9S!u>WOXa zI?^kYP0<$*Xaijuwh~Mfs_gIY!k8F|z~FMalgfy7!FkLpH~9pna3@(klClk3ask6p ziQsJb9bx#&tM&1R67jikA27sVY|B?2UPz!H+nOp~^)U;(5Q`Xq5%5nOtnFaY4tRr4 z`r-7(HjAt<6pw86Ha5N0T$w}pHC*;=*QhHt{YDtGRlcsdtquIj)prqeZ6@%;rkJgnxYlN+h=|jFXtN3pc@Z;G}=# zgxl4p_*n|K8+zgeuF9ZUAgT~lB&JV7m|9lUGF+_8j6p|N-G9*KtiY(AixHSUA)Ybn zpoc^o+-ZP{N1dCy1xQ53_GzuIcvmQxThLou&DP0*rAHcz_1tIUuAgOpD((wjy}{*} zvOr_MJxcjX6)0*TTAqBsRF?F5Ghp3-tb`G_DqVDqCI}lU%l+ai1Dgs=wZp*pOMAM^ z(l=C@CQ14i>}p0Gvw8Ry3)8DP{F<@3+tX53y!}FyjMk%+r;3zSiDDp#VJ}!^W1qk6)$iA2!t9W>yuY&mKPb7YoU81wg@ zrC@7he+fVG5hQAh)~`82(^5TdBeE5Nri|l9!In!%*wg%bs!RgDT5Glq4J7&{tOe8e z!9+?Xon%#%0}^8x-_Qs7wSfTqc9WJ+=0Go~Ok?69fA|rJ$OkuT&tg?#qL>JROWH3e&MC}qN*;K3O;J3i<*j_3{2c9sG6;j87c~%Uh!E1N#BeN_iw@jb zgETXebBHm=a^hxi^~w%40%EvDC-PX6X@tKR?Dsyg+lUgqKgq4eMsbhyu-^v z=>$jE1*$`>SLJ)WuSaXH<|jYVO$?_B6;#$gft7u|EIsL{dPG8v94qJrn9|FL=LLD{ zV=#rrUslgoW*s*QTApL)?qMiXTNz?V&)~0tzEp|a%^+0SvdZ!Q6ucq{2_tfc-K*r_i>OqioQ#Nt~BhdW`DRpAq&a&fLX{vj|vAF?8}K8C z6ggMrsNRa%*W2-K6H`4@7=Ef)7;f8A(Hxt!0T zQihixnP%k&+|F0r$5;a6^u$wt_Ix^&m=RzC!SeBPqF z0q++(CF;J5%<1ixK~6NtM#A?A)54!c?6B;Kts^nRBF4SE~!#8z?}pW)N=sb0=snM+;jvOqYe=8_ttDmrvz#%n!KoVF`59^jYUr>p@r1A zFz_0z8>;=J8f>2-r0hzecY_GpN#`VOkQtIL)*ZneV$j-Rdy`(jg4rQCX%S!*CigO6 z7?cWZO~=9~Y<=GjPN4DAmxK;%;ok$pU4i)g_(`e?*Y-PWrMAg35Hm>}dPD%(5P_G_ zcxyDrIUk%5;IR{OnVjPXC-)V1(Y`$*mtMnGPnvq#_y%hKbL-!GMV~EJ|pI=AG z^M#x@n>ZM0lnf7j5!WGNt!vodX-<7WC!n%e_epC)a{d}_?Ib=7C6}Xd6^u>XQmVup z(uoGA!B?4mD?c+QvmYCLZxOU0P4;aZf8TG#b7aOr^0oyLebvg79iNXB&3=c)7tt1C zu0etJX+t>nX}Ermho6Z4yw6ml_o~#hFsf64h-0j1ZrTLRJJg3~sKyLJ5YdQGdHY00 zYYc6~3w+ZTjE;}+tRF9i&w89pOVkj;?p~%xKA;^0LJ!1&B4RV71x}o_i4vekS3^E` z0{ACmr~^Z2hjC-8Z6<`X-wpy@dIN6YtZ^Kb&J|xnX$XQ#C@*nf*fn68Pcb>r#Hx`l zT?nnz_gr*D{WTPBIWlb7s-^4pYE7>eKn8;wb-?584WM~l0IzdaY)qWZ4r@lAReYxa zOr0C}^VBryBDD}TYsVB3S5qHxygRh`)xegQ_RY7%u|fbVr}Erm#;I#h&5cqE%S#k3 zPe+fK4Z7!_dhVVv8Y^roQQPJ1%q-5v7Z>E@2vg7drCVYp4}N0gYIrUj`x&n$YKT_yc8`j-#pz^@?1HL=; zx6?EKU}0yb$*Znuil*@7RC!(Kzg$ARX=iqCN0WA(OPXL3&Y!yv6!j^j0H= zO=F|Rf`}7_OuSh|7ZId*-#VPT_+_O{Qghy?mECOTZcMaO&f!tv_2KAq5iLq~#q>g` z4ck~mAEqg*0Tlrc+-5bn_|LvC9+9uYIj!;epIN7!Dl2M-hpx7LV+2k`QIHRy5$$3r za`Qz{@WBsW8I|J-Bq_yHDV&y|5`h?1vkE7c{ozZZGt`0=2XQmtsu6(&vpX zc$CdLo=emu(44kiKh;ZN+kcfz#Ir3R=-ex>nR@x$GA{UQL85i>_3Mi_>FtCnG-0}U zvh`Cd#sjV&P;9RVgb@2C>eUheKE167H_oZJ53oh=p2o|@DRg%qA8QQj1?vtT*e9fQ za8Mx*T9zY@Dwz%mGorx@7Ad#dNlcx{RV?%zqVHQnyS`SNx{Qu1S1UC7BH{3(ZULm8 zHBBAgIGUQ2IMOl2zHxvxq+*Wr3{~}BGN0fLES+d(Hq3gwy)Y!^&08l7izL(+6z8k# zWheaNHB!v{%r>mW$~O1LR^v%Y9}f28tmqq;x<&m%0kfRc#`uZ+`AP&v1ASlRkOOua zS%auSyBd1|k_P(`pYx3oc6*4xsD_Z?bf}sDZidiMxGxWu(MV_e`O0BiCorZO=p1#+ z(@${HUp*U*S?l)2zar$h94jAV;sHrSyFD*`8ZHcx9V9buw1#^FH5ODks^cAiuA>*&9U+|` zcDb~2$!TrdE^!znEjc^3HAh`au*!6pb~YW%ss30}`ttNcCG6VW4I=_SPno4$ll_Gw zrLTebQ~uWV)7cow=d|qGyeblv)*2MVc>&beHp>=A^G8liIJCDzQI@!e@`8)_saI2j zWyqWxErZz1mF`6S=AjWNH#*Tm>#!>(-3}AaNrOejvvl@-S!by=%MLGE{()QVGV$8Pp{MoMv>f6)M$AUa37RDt7R)zyln&Qw00ET>;MYH z9i6gRI!9TfX$SKJg!j~=|F6;L_l*228Zol|1JR`WfW$w-hBV z0p(9H`cHx9-viXY1s=M8#@oNa^8aq&`TffOe`gE+a3Sxu{mt$C2Q-@Qe~(6gIPg!1 zqQzyQd1nLuH4?3{INQnJHg)`5Uot#P=ZF=dqeqYN;zLWq6ZauNNBkU*D+r-L&R3o^FC=h82cnPxsT8X2=CH=$()c-J*-%QiNOjHNs(m9J zu&!=|tziH4@+|$lfqLW3-4R|8!g%sKf3)l4a{s($N8?0T)FnKx-sP3Vm$g3Dh4#QG ze?Ewgrs~`JI-i>vE&{z*OTPz&hO$GYCI^o>YnCk<-tGM{a*WjROzSbBL1l1V`V{TX zO8*M~H`oIyBaN2Jhz{po<9Q{BfG+}Pd@j{tZ7(BilAg4k>uKt!nlJY_G0tO9a zRTA*)G)5F)zJimBgVwuFgzh+w4Z1nwS=?V%(DmLr{ zmWrmvT3#ekMh*^;%c4Sci^x2^8SG8iKH4J zPXeJVi5LP;pw|S3RIp!&U!Z5A~X7}xtg!2sIfsm6^HcRY~8nFS3(8D=q+3p7!j85Eev z)Y}l!4%tqzn(tBgJ~+GiyzGmM$!m+D3iv<>XdXnAWVCsFC+1pfGK)XYa98(=UA6iBzM6$4Cq&sw5$C_5q#0;QpP&_`y0rz6aw?NcQ^8yTxq+Hp{ zQ2MU6nZa7Lnfg3`enp3kzqy51j;%aZ8uUdMii;a0T#zw~`Pr|;AH!R=cxv%eCXH&D zf#)POQBObatax~`)d){R$JRs&(_By)cFBN|HXT@8NPg7kT+{_!%OftAgfjKp@Nv+k z$GcZ~Z_^1(VfC7d?Wq#WN`H)Rm(nT;Y+dZ3JPAOM{Ar3ZrOc#NvK*bkK9$0N^~E&! z?%h_Rdi@{}6#ma613-YDtn`>>Ftqg~`t@jSg6yic_iGJx{fXm3i$ zs>1?-NoNf`{;FW&a*se@(|gv6J6hPq#*WDn-i+tl|CzpYiQb zs$8`r%W@|D8GEJfXbzDlOyiYso(0MS$=z*b+_$r!X(y2dZVlM2IyYv}FWxBL=Kw6q z2t#^N)Gv9SOgq9pyK=F(@@}#KlQ;5dh@w+SJUmY(*xLwb(1eE$axkMQ&6tkV_0x*1 z<*yf=qx;26-ihpTfJ)=zq-~q0%xA47(9YA2kwDz zz7Qa9G;H$$<;#TFx7@gBF9d-h!UQ_}=$PzDDCC3vB>QQASTTcl(vP4Ps(R^B z+LD(q3W8e^cp(=?tszGQJ4t!KITVpj^65dR9qsh?4hpQdxdmGU-qqd+pV zYry)^RO#2&Id$In*7Uuc)19d!yZ?UJwy~4vN(r0nue-gKB29pCEco+?sU8xzHAH31 z&otTJYvQ#C@*MyT(R0A)2E4HNO_$9&Q|A`5nD8W%RkP7*<&lDuf^sCSzEN0j=<+&~V@)lUn!Rcmd$FY=ZhJVl% zafm!b^lf&^^J4OGKemG~qn`3GX({7sYDP;%C2E{8x*J)IEpfAuhXA&Cbg&4gw;R*e zH#y0bAN$%cnkSXJ;AAwaZ}+LT+>81X9Ul`P$gW;EsSXcy8Ks;R8`UrPFLFB*f{Kog z3zSPwgW25``6v(qUu*PjvtMS@pFL0FkTmE1c%uryV3%^GC_o220Fx&8apt z67zHOhwY)#{iC*H1>Y1;|L;05DYJIs9fv0rE}h>BOkN$}KAC&;@@fxRKvnOG#~ zZRa&|2S(NsZP+ufE>a`i9T@LNQD1;nMhhvn8DsbY5P)f+d6^0}&D8LOSY>pXj6WaE zd?ye|l2X>g&ey~4AMUGC!Ufm|57*qnmuno~g5grK`DNcTVhP*8AMkj$oBJw;y`K5v z6<5}1JAXS=XTuJpegqalHq}2^Cz|K8;{>?_0>n|x%`{*wUnHHj!wNNFD;hyO`)SG> zm4z^y1Qtb-rrdv$M;ra;>s{6cphE_zmLIA#bl^x&J{{}%k%E0j;J1+ls5-Jz9T6pX z*Etp=B4Q2kdd*J#qBc~ne7?*xBGVx4R^5o_~T>QvaToU|4I*GJZajE+D>?3CL5Qc1T{HA4Go z``}{laen||elw$9f_ZGT__2#=p?3+aAL}LIO9@qLis-U%uga#{V$*fw@OYm6r)`|r z0(6Pc-H^q?JI%?q3v;-Nah`>^eMy}Cxhi9|=FoTyeS8g3-7 zWsaq)YoI1m`1v<=f8HW)s`yDpWkkK}ng2?WiCD|ax#j#s3GTpR)5=GgK#5{A6@#hkPq3@aovA+ar6CFUl)%g?$G zj$j$YLq|ch5n~KIU@YgLWBH(~Y!d@5>EaIUo7ta?6!KF#`6~euSu(6gp`S57 zcD5i5fHKu?+KL=UiGgg3y{?p-so@G6IJiSSJ6k1-W%1iX!eTh{s2V>}-nW;Td5KZ= z>PGT*qvzgbWAJFVR;i62IA58*DA&VVn9oGOUPHL@)tV&CMI zP8Z!{KSAXaWHk_(tx6c(S(wS{VpYf=7#tMa!;~wO!>*txR>+zkBgIkW;mE5W9?gb} z)95>H5x1h>ceaD;a5tuXp?O+}j33G#+R@(Nh>{~!&X(4CG%e8k_PSjXSeqAeaT@u{ z=qEWGr}Z;=(F82<-Tm9)kRfcXrsB*%!vMDO>rB8Z&TTp8YQC-e}}-mTyTVJhHOTzhceYMb0s`k3(fiZeunNi z6PDuSL%~%;Hc(l3oF!4Cbd?Ct=5vf4Is9fgNyTOhs|g^EKLVzZ3bGQ<7#5o49t}QO z*yRkn0{iJ63t^!^J%RFfCKPhtA2|B);JVs-X?h(XXC$Zb@P+)#q<~fdhOq-7vEZ2l z-~a_6p8Nalb}y#@?l^$0HzZ;a9d2xyo20ah;H(he`gy|5Bl5hJ+aMw?OEVxoy^;0%$&4BqTsV1?B`}ZmQ%$J z=}H*gWbQ<74hC}4XsauBb@|Ch>i|SNh{D`4tgo7zW3AZ<)4%1R<3g_T4;xDRlWS}5?d%d?I%JRy>48$2t z7!{-mp+tDHuxTU$2`(#sl=~?mohbyvN0-O#&rFGobt8sKC%L^zl6iw~h_ppN?Wi^q z&po0rO=r)}73r`OGlpsQPy84kiIYkGhP6G&UU(e^K>#-E-+u|T8g$<2xb-{~Ib?dq zdoO=4ey=U{_Q3Lt1A01eZH>9dMt^OPMBPI7s{sevu{Gd+v&{*o^_l)Wa?2f-3;g=2 zqvbi%)l3*BkA9}c69yK79UaK^p?M$#6PFuU3HE^Kf)6j!fB?oy1QbI{5SK<8Jd{1d zH|!Ts*sl!^t=xo>pPF1+B3BO&IPD}$u_-qdJ>2o$zpnT30cLiiq0`>J9FGH}@%kPB zU;r6CYpz`awkBqBTu^y8Ag(tVQ5oY!W@BHGriY*L^&H3~ErpJEKb~hXO@~PCxUhq^ zL7&6cW7qs*NSzY2K|9rDT;|mfC_6yEL32r>Ah-?!gxUVpJ)pIZ+m>!dOe`FC5DexZ z5}mA{hX(<`0|EO++867tD3PKhuSC<8dT!lvWn-JR6hXn(YgRKv0twb8Spry5q!kU9 zJESyR9ENRA;w~9EFe9CIXy{o-Jq2{h5$Pwcsl59VD#7YGHSrqiu^#`%{z>_ViRDi- zhYK0`*LuIv&-KDVYd&Ml-4e+X3KEp-#R@UG)uh;gST$`qs>SWQ6Iu9~?(!u?H{Z)A zk)#BL7*&i+vO!H%Be#!~l`Nu;ij##t$sUFhixFk=Ll&de3P-=OFtpZeeNCeEq@}0h zY~C4>gQ!=xNS>jjASENrbE|NTM>39+?sz`foodG-z*j-JKTK(r2p99R4fooS;fE?t zIYz@NLF-Lj`wSj9;*Th}sxWrONv$iSV2dewZnk(^w?k7}9(Ly%=#h-~N}w%iwa z!Q6R9w1 z|1wh0)I@Hntt!HIcgaI4iY1qCU?HOiTx4s(qmNStpig5*%v{?Pf%;+KQ5%D|XP$N{ zUeX^Q?PLG~R!k+;j1I=!2^izrq{@4ptD&Sa9DhO#IFhtkm{3?{LqF0ln-7B)_bJT^93B_D_?x4CctCQJp* z+zKc&r&JyM)NU*eCawkP2DgW)KNmSqaZxVW*o9r(_gM(v2;J^S8MDxgJG06jdjP%% z&LF|KfgtsS5^8mFS)yUNS)}V$0-{Z2gJ^L#ITufDa!HDz=;EDYzT%I4LRt|44fBW+Cyi)cl??-5L<>CA~zy#cC+XfR-u9ypT%9ES{a$CBbrN|%8htje%w?G zi+DfKpI@V~!#xnnbZb9KQm_$jF2H=QOYGL8y}p8$aKmEYyIv*i`NnFt^!Uo358)`~n8iZM$5?Xq@$&dq5W!+X0Q4*Zwa= zZ_vN0wmk@CC8g`hgyOgqljR+UkalxY@x)SLz!3+hUf_igSj9<43<(G>L(5P_Ui#)y zgCB%mCR?12T7=dKji9Aou~0U8FQFdVYn+ajmTSrki&#Q-a?5gif9XBOGINMbkzOJp zNH$BxaNRnoC%RCSH@M_Cdq7#07Yx<8Dt0o`pgC|bIO$yk`qnlOZ;ArAxhBrsO5QUp zM31vCT&qiz8v>5AmpQggVOiPpwbYPr9vu!_*Ewici5+2_=G3XPoWrV~8K{mErPiz^ zv`y_9)zmEu%9F&zw-}_4WxRiXvesmfu6ujRw12eH!lc)rw7BbZHmrbRIzFuMeScUX z0(lH&KV+}>=>(jd>y{m$@{1N~r=*vM*C{|7z$Y(kFAFa!FG;UXUorV|a2>J*fKCge zbD+g0;h#s~i?EYl6q-H*Z~&}Lo&z0#D6JRTPy$2rTF5jd0Pr6xlnVfaLn)NAaBrfJ z908``na)F()b*OASRng+SMMy&Fi;S$lkGs3sFI{YDZfG|lKc!A3XKTq=T^~mig2X{ zW+++CITBsguzcbYyOe{GEEurqO*Dp<780FKBvAN<#x>*v9RM)^CspDn|945M(fdDO;-eTy-tzWF>CT0i1 zwrIy2VO0R%uZqZ)p4^<>l}OGwM-e1i)&wK##n>Ld;^p>hvx_sXe45czFQZ~5q+>O@ zdXW+Na9oCwAj{Z8;JLq^n!0(_*w>Jt^~4yQ`xo$Ifn553fc^i4gk)r7{s#$3_d(|U z!TtY6gmLNqLFWA*zhqXIZL#Q~fnL2u#+<>s$gNHT@bSi1XTR}oegzQ9kpr%y7#!d1 zs2~9&o$T5>v}2FXsg`?QZMOD5;TX;DK@ON&@)~i20ow{ooC?kXVN1EK7xkpS)zG7D zT1h}In1`vE#HfyJY%10EU5ibhc)$g~b%jFdIiRY1{$?+3uXyfh#oNG3l>$ZqJ9U-JisAmuwdJYq?t}cDRZpjVDM=-hM>H5=KZru0r z%y&`&JK^6e?nx|S zy{Mz8eoYlAPqL%r+l2S{MW{oZF>Yjc zMT0_Bf_WY=x_mBoafjuN8E6OHmds*`QkJ`%a<(vd5%e5C7=%(b4=UrtEL-8;|| zD+K<-IDU-HU-S(<<8OZFqeSFEE|^J!cCm6Gt@%5N1pJAL!-?-a#93c`OEK8$%!h0v$NrTatw{*w^-d#?X8E967@ zPZNKqM99BqXnZ*8x0F}gR{ulgf9V)w8(TX*BW;_%%@^1Ht4vEr`@4mYyZ`BJ+~4Ez zhZqvDc+amiwlKt{Ry4NYv9LA%Tk!k7-}xA}?|^B5Uv zf8X&@PtVGTOV7f9OHWV#kG}lf+VAP{&cRtKSQvjKpW^zjIoMs! z!5~eVaU~%kpIZS0&3S|mackJ*s=x>ewbD(4NcaGP zN*nMvj4Bwh+FZi5l^aq-Xo7l!_KujP5uue^!g`I#Z8xYe2He8D8(f6k0_9?(AVuXF zkI^X$OGKG+gVUJYsUer|jsV0GIed0H@+Np&{A7}(&qR|AVXR+n(e7Rv;}t=)JbNN zen$eoDTGBc1Xw&+DY3Qmv>BeDwRQj7alvtrAiWxNLjbfgEi6X-v^U75sPL{qzwBZy z#js)ky%G=K6X7BGvCii&v^*&Ic6lvqf@&%~cXN#W9#(l()L42aJAM6})EkT7yk-@N zq$(2Pi=-zAEL32+cL2-bvOyKx-%L%N32gLLQ2LwF5xz4E*2$zPodis?2( zB^}zy-FX&H9K3XxQdz!mjCE}A3o#76r3{Rx&a8*fSXijEl(#pqCO`UWTcD`~$1ZhP zfme5?f?{Bh1u`kHm81)KP+>l~0EJyMC5=lx$_xf_Yh=b*{*^% z3_9jb9Qrfm?HRyu<)=fZ!Ttbt8{M{caw`wQ)t)LC4Cy&TE6e-kA2%BHZQ65U+>gK= zJ76Kgo@4re1oGfU9k_W+&|pQB)a;rCv(mp|A^oPzoZVel6|ZC}o)b=CYt0;60`c%t z(QXtVMj;+cb5h-bjoan6GNl%#hifGc0Bc!#tTIJ@Q_ZXN(+TVkpfy0w&S;a0i5#@W zO%Lx2N#PCur0Y=AE z2ji@0+DLrFQ^uW_q#mcd*UN7rMdx{`*S8pHm{x#qE(e6+F=Bjtku|U_M*-g>+LZ5u zB}>er36l}){N(KXs>oWp(FnE6N9s5C>PVJanMzfWmxy(v5!KYy^qnbu8Z`a0&3!}!;6RpF488rUGgWXfQIN>jCKleWmkJtQGDu6p%BA1w*uWav%pSYw zLK?bBCu9goW_wbF1~Q9r4_uia$3o$LUoC0dJFBQPQdl`G1d;d}+>efRDcJR3H~ zPd%FM7c@C)Mg~vRZqf&W9!Ns*yJ)8q8od4EDKo}GTQ7KapIpe%FgtqZk7*O zEkQ?DE&)?_3bPBc2NV>ePl`%%E6Ap?v9+)e#v+0Qg~sh<#d84I5{)x6fH!kAgr%kp z4%2ISn)57|e|Z?_PNI|#+I3P)HgY!22ZBEmJrNOc*8QrJt^B^dGHLFF*wIxzUq9~Q zYZLlQV>ZC?LX}e0%yFrK?EZ1X0o%6agoMlMWODipkHwJ2dz(HEMm{5x@A8p|cyS}C z<1GkTRj6f9Hg2>i{r$&adOY60>!J|ZXG*3JCNDu~g6dIOL#8!t*!g48i>K%L3-GZV z=3evQbOe5lY_xLGVBzePQti4}be9Z#MX<9y_2n7nQ>ZJ9-48#9_GF8?Yi{4yz~pE% z1HMDMsV1@LDpL35G~YrR_hydIQ1)F^C?#1fT~#0_cd#K_2+18ptF0E4Dl4-ftqa)L zKuT?v3M>@OqUbp-NL5~V%_L|+XCNR&CBSwA!Tjbhgwhp4ac-3Ym%Jc`tJs?MbCt^& zqUC7=3!YwzrOLO5(PtCiH5yLa+o8DeQL$Scj)(OfH)`|_@1hYM$5*eq$sNr+GN9mG z%=*sca85O@4zjLtS2V?ZXAe9!4V~tzTh7uttX9-fXJQ>C-OFzy5;eHP#>Jizb|eM& zDZ|EJTchIm!wE$E)N^pPuE-{k#pLx4>2hxq%QiBhbY0$BK4Bu>tuNw1_PgFAvQQP4 zIrN)CSs89T!Etup-%@%iQ8=R^*uj6Rj+dfw*M&S52t$n`Q4Us`u)S5<)tA-u#(>YJ z*dra0iv(Syxbu2Ao^n|%tqO)ZM|6UkriGOEi(tkq5YMY$9^qkidU>!eKYX|hoxlMf z`?RbUn7J)Pz$Zd$_+PfM*VLmL>%ijREVs-z}zL1p6uZ^O@xM-Hn}?xUEQlRm{M zfE??Z1%9g%`F-L^T5*4LlB3nhexFR{E1FkZ2{)$V*Aj9%0st3jb3m@EZHTkPTC0WD z$>&$pEUp@Qb}F3s=%%n9^p_qK7%lk|XlY{sbP#}jHc}x7X=8O!R{qW*B|o`b@Nusi zc4P7}MJ$;CdGLKJr%8q|T0$rR+mIUCOdJ`=YYw2E=iH$^vQ7Lk4h1uKZ&zuDd@RrV z#=EUAH~NDO-!9R0Bai@I!O`$)C8D>vYQI&MSu!d_uS9t)4Nk^$a(L987e9Qqh(B+h zoPMCpUb%AgI~()tzSlXZn>1{f(nZxd6LaUfY1`frgjM+(GyPH&@d&$Z#cxFLkZ$aS zrLLz;Y|iwp`D@^NpBkkZgj|ESzv+z>8H#BR&e!~$t=U3orq2S_Eb@znFarF%s2tI9 z5#(;9Sv3?HBH5`N)89N2673Y#VK~ulJ8vBzsP)6j5 zA*4Xc5viBo_mm-fuPzIc$^X6!eg!ixY`-%}$Vt!@p-*nmXd<@9_Fz%Y1x=E5m_$}p z4nO3QcacDghpIqulf)Z6_mU2_b`Nky3%3^##G)grb0MFBv*8pZQxyBuhoqaJyOK`QtM-TX(|Z$=l{~=Dvzfl( zZ zxY!I$WomoaK20q*B0AT?)_l5piDY@2t1n>|D;#KOpOuD$P-e4CUC&)84Ez;k2bjC^ zhtClu8gQBHp@8*De<_SuKhTRSG2dDFO{Rq0g${AgSh<~Mfwq1pBIPsAL>2fk&&!-? zn_&vqToM4&56g1A#b642@ao29cVr>x8i0Td5gbeJ*v99phx+!)tk$dHg{CKa4A2_ zTcS3h%1`Jn&BckEQ&LU?6zP#k$8n+g2Zv|b_S(pMgh*o)7xC_kB!*pW1MP-#_mv;d zkwiH^Rf%$_2l&65UFADbr_OWPhBZU`My2@f+nRS#tjz)cWIcW=;|V;73cV{ZRebR7^sb5?>1 zd;9j9y=Rztk}j38>~K8#Y$bL!y{E#MT$SAc4`(=j^9IAADN8q4krX-@idombI|C*X(o6GtDb0)efp$)fqLSgBW$?RrM;4`jYAO`DHdpNz4gO-O2)IR?TeJ ze$|3!4wdnslX?P0O58709?Y5BEsry;i({EPpSE>hL|C?+JB(=l1yH_~-WmY$00_bv_Nb%~K-enO z^27cQ08l`$zg(OH7v;e59JnwCF35pnSx&R5kuUTVjf)TvHC*+f90g|_x(bc%qB#u!g64qWuA4OJkK`IK2KR;Sz%ovuduDKuTVM@oh52X zqNt>3(6FMpa+7UQVo~Xa_=cj^qW_Ygv_Dk(X!*mH&&n^_pDB5^v?K9G!dGgl>4hc` zH-RD(V0Gw}6`DZY1d2=`uPgmW-IZTA*HTh!m-$dE;pJ^Z@zHWxBqj)Jm{7~0!{e)A z7J}w*)?hqjUf!xak{9txJnaTUJE}-!5bjgmO_>}Y8DfiuaHuG#y8|^<^!6$$(SiYE zOIdf2>21Lny)zi2cLkZ+74*^fr&mW?*`x)@)kreMMMtAlR0hx67pXg0hRbNv^f6_o ze#ij&m@-NR^hsrh%}MWQEDN!|6qJ0zEE2knK*tS?n$tP8X_weTZ^8_-l>q`{#z z!>PRpw(4Y))l(Lq)L_4E3UdgulWUWcdvb+A&pOb)VBgTQmU@&Z4JXfNy=({63;%$S z{f2bVO9to11y6axskt<_#)*YWER3wBQWy(^VUzEH!vaS!Yoa8XKzchckc!7rb9J=8c!G_(aoCc{7H`BYAGQsCx9Kd2@GN^)j>luSlQeBfzgp(QvMi+5Y8L#ab3r zLS=)Lva&j5n0I)1WZA^BW~I4og|fV?rLs-gI_L@C_d_o#-crMVD9$cnb_#`_3%*pk zKX|zGXz)boZ@nLuTE_WsK6M~EDT26|+gf1WyjrR|O{GxO9}OhS%WCTQy7Gzq<>if* zrsNXK^5l*7ZT4T;zf!(RI)~RdFt1e<)%dFlJc0RxRu3YBA{CAX#{-UCj8}mSInd}}_L9Sp4-7c3Gfm0Cu+$+^{B|TV644Q0NV~5QOlZyzJf$O0ZlJ!S zF;FhcV`c{)_CzAo`;&PWG`>Wxig30;3$z6Yw7m;C0{>q*a@rJ~wnii}qAM;aqEQdp zDGC_jkRm48il{@BQdyC~ZW#Of1J#lNVjV6rb>gBfa<%R#(NRK6#1fT>Jqe)>sJ)Yl z$wXKBeFLD}fHmLIm>62eTp#&hR@HUak==E;&QIx_KHP6HXx7^3FAfw|n0jG_sTWpc z_<*yqqUeZtLL^bKK_sHbRDnFEhLL&BkVer#hhJodsu-XzCok^r(VlZb5`27(NBiTql$u=-AC6KL)dMb+Yg zU-(+Yf9=uL^Qx{}zU=8l-kq~2{P^xETc&s%N~ow<9-V0VtWm1}yra$si;tYlOV zi>ZTv!Sp+QvQ4Qe=FjkFtbg)<5)oHTh&Q z-dVi6m=yc{AxH5}CwB6buANNsI~jFTI&^xNYmjnDKP3Vup+w-cQ_^!Xx^_~#ig_)m z*2|ojUAVa;VEMN&fT6?dN@JjSXBdZBOW|xwVb)TZI(eM5r7$zd!ZK|M&h{B5V%SdG z44b?p3{CAvq&jXk5;qw@++YB@r!iiPPa?b%?M5Vus7&XmRj%hT3s5t(3BxtT>_A_} z4!p?p3C1-&%phc%Ib!6GfIaMZ3qH@YtPU>{7g@xrmz?Psni*d`sciWlau&Er~^& z7mUgMt89{$6Z2VMQ8ZXX6>x@};35^>eip&Vi7)0Dnom_dx8lY}qqo2L!s5*6Zk8%x!NbTzvcC5Hm8I0 zMIsc*eG!KZIfA2eIY=3-%+y!R#1E!11d5ofD)Urerj!7l0Ak``^s?arOx4waIH^&jJb#Am za)cEPzObORiwPVIbwSp2B8SuAWBQ=OhDA<{fS}1@5OYniSZ@Y@d|nUpJeN4RoVeGv zXGcD?Z2QR-H+*#K+y{m@pSyA6kDuSLesAA$;U{g=r|(EV_DtV5_g*=&_Z#ln<450m z@2xlgo5iy3gw1f4OS0wPy%t#)-go#YzU7O^R{ajo!?!#PIZypJf5L%Afw>J>*2wS? zM)pWet+B5hYU~S*>=M1$>#tFTsIW`;NZ_Z!=A6Jqg*8H}kQR8b!ezo4&MEpN=A`mg z*VgPpxEq}VlF9K@{j1+omG^JS49tCiEE)D>`WMq_)8m+NBA_Y!KqmsTK$31=)FKL z1T^Hss^a%g^R@Wa_<*R@o!V}VXc`}m$PzkaSi@|TnAPi`qd^VChusn0MqTyi{&!b> zN26a?Kt*NdqhjRnh!psY4WmLIY6bf}5agwQ-N_L|{vQdiBd6k&1DMe_9BnO>iDMGs})0tNdxEBCX*MKA82wm1_c+4C{%s#+WJg%l}@@LLDsGd>v;%GLu*hg+KGh9 z4A2c2C?dpbl=^jLm4>uRjkq~Y=G`n7z}w_7(==tthy}Rn=3moXk#ts9G_R%6Q9o5Q zkyAs}Rmka)3Yf8o3ldD-8z+_I-&xe|Qf&@Wr!o``rt7^qwNq?IRlR+4LfA z^gq*yqreI6xU}z&eP3y@J%^UzhqsPh_M8#xb^{`|3hy94zJ_67zQ>ByU`4Pps0Y^s zzi)q1c~P;1lu{)X><;olI*rj#v?kA@aCS8!V=qa1+&m{Dd6x%!(r#nA4m7%TKI`)G zo1EL9Vc0e>E_lR|hp<7uLo?)?j6`d8A{^A2yF^zgrFt0Uma@P=A*0>$Oi1AGx{Xn> zC!=9}W@;FpG66!V{Qx7}X9B_3@F7%yE?^mff{|lmBxzEPb{?#J7U}6p_B2zkU_FiA z_tZHJ<-wylMXMxQz|PUEt}p^cEsQ~JDBH3HC)YNkb>V$T_PJ?jVQ}XvPL$Oyt_r3U z8&g_cWe|V77Pu3$?!mUFih;M<8+W$v+T{-2dE=Gy!Xv6?j5~3Hdt%4hl{FKta{WM_ z&~ojLi%X1oQW4_*hfg4lB?iYp<`B}6(g$$AuC6eW58~T?HuUBoNNWX9cEBb>~; z<#v0atS%6(x9f5j4j<6PX<{qL=PoiM_GXSd`~FY+uR!p^k|=G z=X*W{RH>&9B4fKv7?Nz>cH7ZyLjuX>+q9#Ic3)MuS&nXVXh)4L>?DU)UvH^z0_HJx z-keTHAg|6w$J>@yXD{^EaZu=SdqJH>NkaD4;lhGCs~)K{QMQSty21D~HyK*0oedvM zDxF*^YhXfMETN_v<7z)Bq{D{;6z58?itp-s{7=seiIf+2{CD4j_}&jsjqLj?DaCzX zT~;}!`kOv`@2~L{O?}N&K21oU(ViEs^f%yTW_!4}+h$Kk|Wg(Eh}iDYjCtn$%vj@1@0T`OP+ zRbzCxAMsJKQymaN-;sbs>dH<#C~t=AZv>rK|5F@o7NtXA)& zZW5-i0yA41-phHZw31hGHtcYKk`!j5$|k8sAg!U=RmXzX1+`R7P1M$~*tH+D8=RY{ zHDdA6&F|f?;@vx29;xW)jlF!sjX!$f){ReX{o#&pp4o-Dw&|mZUYuU^=F-Mex@J#v-!7v<}dVTBddO9Hv4JhRiVS5 z_Tz3p_D=~>lJ(I5Yv^2vtO@N7r9$ZtAF`V$U^iu=-N1zo8u`tJS80+%%zDy#+R9r^ zrIm$qohZMIHbH&O6t5z0RwN42RP*F3{(|=F0W!|$h6agCQjTAp7=t4Yj zR#hRQWDzZbg%dU29!84A8AjA%E-TvtIFe+MbQyC_W)gEYpC}t#ClgOMu%aYU3kc!y zGlgXsg}H`J?_KlERL$0Db6!7v`u&%5KG}KsbyI8ClZSdc?i+g9^qCKACw1SPVt7!L z{yQlX9tXYTdgjN94e%S;a$rjiEakvr4lL80^+XLD=^_AHgBW4E0xyAlnl-7)VBdmZ z(F#!^R=&f~lnuS55DZN_PD_^Y*6}UU8mU#pW z%mphM+#v%nVm3nPA_dM-vlt+eQ8RU?GvYo(Rsbms+q>jjh6k9QJ(-aCne+9Gl6&i^ z+3BpV)_z45Q_}$1%Yp7$)k%pN0iat~VOdd}4%y0#P&Rd-qEuC6GEs{C22oRW#W~zb zRTP$SNwmcDO&0FJ(yG4ucJ%(&tL?Z~~C4y3{x}t5~I!OciVn@h*@G0kBK3!z)?X*xC)Y z$VQc!_Y(62AAk24OWDzmHdoQYvg)jM9F2^1kM+-V&-AyrTm0WA-{+oCp4FbEbQ+Xb zkmcM8;RgE}rB!*(zR$W}-e|5<06V6dMUtO(kRyh^ZaATs9t!!w4Zc&HWX|Ox3 zNL6j9zmE~@nSuWMhQ&43c6! zGirF4;hB%YDdyVHnP1~_=FJE(Z^p!k*TikFDT}-rhkik$x9Eg~smvi6bBXy1B^Ig4 z7+2KFV)yNDl!k_Dj%KmaaDU_k*w;;(8J{$LE--MgD@QcJ)ph47Gg@b6X*=sGwB|GL zj|!f(U_CeCtk(@JW|u=%U3?&8B-vcdNU}-UZ!he zuKVjfulympC%Ad;_LrW$YsLNeZvTN3I1kG&W3pw>Q{k1XUVrEPpWnf7_ij*pjsfmE zvBWf)BbZtP1aA5Vfh(9g~TT}d@C#^=|ap=y4Qk&w&u zYNY*Yo8z{lbnw^V=I{aP0~+DO+(Uu|H#Hpw-~H$E^=m}i}#HM^R9GXmEM*I5^7*SW6qEehO( zy;f0BuI6S5v*fGotGLC&VtJKa_D6Wh8L`d za-yLj>iEdyH=2Kpdeuon z5*wwQ#Kz%(JIIJ$qufOPanIiK#_zH3*1z5RQD4u&_HA3+JMP}rPTaWU{u}%L)O-AI zci?=iy#3bOzj@=WHyLe;2nh#3H*^V~zXtpRa`%28ZKCS7mb7ECrn*vSkui?t6Vd<|yWxCnDY@bQiuO*tHQ$FjE zwdOcv9cI2OG-c1$aOGsdTKa29{WWA0?^xQ_dGpPjg*i3O=A@vVHJ{;(nGCBC-prAy z`p2BavMg-K=YzC2MqZ+11h&PDZ~xs+yTTG>&Vt!bEvJ~>xX|6{Fw(iY^$H3(b#^Q} zIgISUW3Z@#Ijh*&N-Db(6JF+>awc?UXi-j@?tEN(|G4%pO;I+CUKZyyaM#Gk@TneL z#t)Lo70#=j_d7ZIaxAuR+Ds8UZ8}!Z>DFjLjTXr(p?cyu{Xn#+h8OKtw-~ktT>_7I z(Pp(dEG`YXIgb>vgl&01qs3C0CF!U^wbDq-C6002Wuh)kwoI~(RWEa1;ksI#;aVvz zvMhDoEZ!n*upAT*srz035WlgO+MK1RR4H+kswJ)p&j>W!b(3YQz~viAXls_JyBmG ztB%;~PRSCJoGw>VkUWAQIbfcP6^BPr92VfhN!j9o+mS$^ugC*h5F%J|@fOu-cPOlT zF0jEY7D*xmi!N2AHmm1?rr;KZs&E`&^YgkKn=0eg@@ARHU1YXyo$AD^otvG+Nsnxr zfLmB#ffJzeK77G_VF|OQgOkrUHwSu~*TO&Q{Amt+I>6~ee=Z}^NSE6<*>>CHA<2v* z=-+mLmDCYLy+E{3n3hSY=u9J_eD0i1C1#J2*V3m!bvh07f3g!*sxcR!YX1VONvWD_ z{e!>(PVSW|F*{!{b5g2$`rO=$r}s)RJJY8-`9$yc&p6*C*Y`g5 z)^W1rn^R=dzKbUeo8%B|wxQ!-Jq%}hU4YahnbglmtI=k(2l2b1&TgKqqPo!B+=JMP zhYnzJ7MAQu^`P2n@1f&tsT9=x2+;5wp&QgD2aBu8{em_F$R>wJCLo*AKC{>WbZ$;p zoHZ-?&Ex^{xP^b2$5tc?gtH3RPVk#D(-UR7{sCn&Vja!b}L=O&;a^;=(v#?QxJEGqEtI<*zjudP3P!$WhCJs!O*zH6`G7vslsjPN$OrU+7k<-zfPWA)h5p&sHlC%yv%eHkX^s z&iBxB^x5t3Xmg1y^AfS~{;t;OdKuatZSAOGZ(br?A|4iwh=-+LSbi0eCfb|qvm7h! ziyXJOZgJn^dd>Ao=#%idko}15fScsYnne`fjD$RqNXQZiahO;_5l+e1y2!H~z_pxR zIIxfQ6VZ-!U}BdCEToZh^xdq(R9711_5OEY@abY2e3)zjqeH_Zbh~q31DQ`&lg)%D zhe#2M;s^HLoAGu7I@D|DGx_&4Aky1>#%XXnf8936kfh@_?Wo~A$}EP_tzj*q#Bvzx9qM@j>^$e)G zSyAn3zAO*&=12JaK@nk)5?AbjAO?ZPatmTof@R`D^+W|-KXtr<{*bG#p@C+l(B;X; zv}3M1?P#)!7K$O2g5p!gD_a$Qyz?sOjbUzvZ_;r-@G2E}rhA}1OG@s~g{3xn$8DJNwSQ|Fbl{Gw}Gf)E%3i^8Ao&ylvqfcik1+_lu?N zi{?K$B>yM(clZ6{Q)(lR>6^}d1~xKX+d7Czq!yb^@RZw%Jy+VsdqitqFt6N}@RY~v zY{NWP*d}-yr8%}`wy))XcpXFHv z7_rMfZ*_6CJivOEbCT@(IZIKaTpS3T^kdDh`&<02e!d)(eKNb85s;t7QT*9Bil4<% z{62P#3NgdI?#j5=jW~**dODb!eYBioQuzTk+O#+NH>kK66-G_b8Z||0G!tU>H%5z& zs3+8q)U?V+)dqE{%BiMkRx`1dA&n|a6;MMgmA#OqveT?SGl8AOR@7j!d_zIaz|^$n zwUaZ;RdXXOEX2Z`E*Gd%_Dp8=>Y0Z6%%Z`yG({X?ABT`TA~1Y~5w{mIe1%aLz3x(m zukM`Wpd^sP{A-#4S^YE_oaK_17%Nq&*UMj9?KG0ZbIt1|du&x>H{7;8;J`Pget+)z z-`w}wEzd3f{qCQB_V{zRZF=FATQr_E7g=LkpOugQBeW*M7f&G;KRPfL4&;6eVKW6d4U`(h`D?F7# zgQ^Qxs?&re!l}G}@Ly|o&FkPrg2L3tCVL|eTVOztCy>Lc0$ImuVPl}^qz!8}-PU4j zwedzw&&Kk=ZOo@bKb^vS@HW$}V>1)aY*fi&A5~%DANIMG4cJLctJsopfI6#@%hd3A zGdCsUurt1dQq7qN$7K}0U?W#d$aiO|^_kf>X3Cm9CuPkwAZ6`e-%eQzFek6aNLkCj zY+zzbPRbfPcZNj(vzJW1Yb>xEn7D>z&EYkcQrmdZhy#ieF&ETj0zPqLO8raTAct zxP!$6By&};#geU)nSP522$pQ7dj_zYKt|8khc~+B*q7O#u)k>km0h@!yHfcc7^|Sr zA-l*)f^6d?uoe{MO^)|)9M36;*cD#l4wJ)Rb`ZQ9cm>Zx74)XecabFr1VPsGqBXK< z2FS)*?o9fm;n~2$bw$z(<26!iL9Mh?CB}!AJT-`DBt|%5xID;gVt#6c>~nPC9ZW2L zPJM#Z3Sfv*uYIa9BS1S}f1%#=9B&(v$t+fbsV3U zS5F_&1VWm64Lx?<1eO4Nc!=`k`cazn!;=oI<*|ssnV%G_v!i zsgbO%t}<*5XF)BlW-%(xiOD0qcab0b*Rf-reYJT0kGTC8ulP~lQ=r#A+`E$TvCI3G zbEiS(YAAw#%J|qS8%dI~z$Ii7x!Eo@cpHL~f;;nf=LU^rvG1?JPs109ih0Eoir6HF z=!x()n zK9uUC%t195gt6)}lV%&fBNmZyH~Sl%MgNv}@U57SUfL)XF;_Sfml6|~67xJuAtR?Q zFaO(uG9xE*grq4VY1s1H*|J8mEap8-9`ZJasMta*PH7vMEQ_6)u+OlJ0348cP+s=v z?4R^~x%!>k-&p%}Z^6qO*FU%C#v7jLTTU#OOu<92w7c)l=kEV{EceRsZC z*!1*!3Plqs)46x4?fw_>0k@X%06MIsrX^2IilUM@4GC4=s-(gfGyBmpZnPl(9@g2 zbUL%mG9)Qv@~X1-K&Q1*sI*aM6_;^VHL(>wO<7k3LJ`I70DGPH8uo$Lt7bn6qPp1E z093yJqaZA{NLTq(e9Jfhi@;srE#QoBhD7zP*+206;v5VrUav6>(lFA1v%$Na zV+otu&T^1rBRcX;vdcF`bv`h#!|XZvxK39Z{PX>*{hR%~Uo%rpH5T>J9gTj*nEWi+ z*WX2oI+EGXdKk85F2?m3h9@&Pb3Zh5kh(BBOJea@f$4r_m_=<*_Nf^`R*X;0C`y=p zVWxAHM+qCBc?$pgr)IFk5_hT3f-){wCM@P;K{6lC{j?SLO-G=7;>yO+v#%wiUt8MQ zd(+9g{?vEo2lt$P<-^|LQ}3U$?%Ahrz2zl-rej6rrb)^j_agg4Ta9+Wjz63koe%6g6? zbXuk|zYs@4s%5?PZ)hrD<$S_5z-~3(jCmY%WJs8;<*lE5zGsSdf%*-#9^>O1^lJ@_ zR)HeJomM+X6HtKKFr&6=WBGi6S45mB#fQ0E!xwP-cJ%d38m1oP?)X3V@L#{OS(y_IS?E^)=_rwY>|s%O z`i&B!Jk1wf{2`aT_#StcaOjo3hL`)4SLoP;==Vza1d_=@Lu& z;>$)wbCnZIf9?*^2Il4X1q+fbA{J#NSS@x)L7^S)X>j5V2?9kUQrNInK-R+I8sviw9G%i{FC9{Y zVz5!|gHWk8A=jZ=`Eqob+=v@VlVy%|30^{$Tb5flqMPtdrL`Dyp3$-?vb`z z+N?i7k69m-Uq(;MKS2kiz4EWn8}cdip8PrbSpEi`m&@UG)TM08ZxSt1B_8|5w^CSh!#98Vrkq6(I& zOPTX$O;DXiJi<9Ku3{9oq{nx~^MWt;E`e!~1lhRUiUD zx-~|0Txk33x0KTv*~-nKK+l=xOnfREyK>gibmjiAR1=GvGSQi%g*W#r=i&W=G1n~9 zk2=n1SjNZVG8n(wx9X>7ilc$#=Lh?)=M%kmEnPk9MzTGV%U94ho%;gtGDO~BdX*Z; zer+b3jbwh7)C5#8p?{hUb!Sl2VO~{Cz@Dw2O`tFV#RO=o0ESZM6CBq$R1gjLO*GK9~J&o!fnbQ?r zC2Fj+vPPpD$!>M|lz^+mR$?zvhS`THwT{P~wo+HA`*L5CtI6HuUG7@$UhchFyivK? zd5h;3@7+q9bBAk(`yS6@@(Z@tw8PFrp3mgJc>baEYF~NMk$e|ue2y`*Gq~t;+ah6J z9jD%x=6!56-Gq&bdg!Qt-+Mfx1 z!9Ku(4OI8r#uDg{PD(juPD%y(qmhS^ohC7)&r;`bQ_?g}J?TI0A6_RH4zF_nFWKj< za~68*4AXQiT?yW7=FtzZKKBMW;KI7RDyXWm%tn*py^+&WV))?T*G~g95D_oj?75`8 z{&K%FA=vt^`}v2-!f5j2&c0Qniz+uY*7PlXQ7bJ9uT=B+(%#2!*s|$Hvhtf>?itfG z6CuL_;b=M-uv?x?fqgz$svL5l%_xm$;stmkz8ybAj*&ma60yqI$k@vTh3Pc?UNzc{ zXW$mNep}|c8?M)7um9&i3~l@YKY^dbKZM`z%egA*@2l`SFN(l77AkD1@0sj{$XX(Cgd7A1|LAocOLFKMYLFfha z3SN$0K}XQf@j19_4?2iC(Jx`F$Dt?DCiFeD4Q6{ToVf?hfS&;8zlVeAPE>)Of?0eD z9f!JCq1(|RM%quT0;7=An=HJJE1-CAuE1!L8{z z>HE_UrJqGVLI=5Drh8%LLueuVj;Fs6ewY3O8Vq+lj2=fH;fJjIz@)qiwL;Awpmpd8 zu9?T_rRlGs2L(ZZO&iPkkJim*Sn>!fetjH z0l7N3vKsvq{Q{lDar`r~TCfXMf-c;WeiyKKD4GqueID-o6#tXl4!_OZF@8dN3{czM z=s`N#=neEI9KscNDyTGrKnwpNw+<+)9PS;87NO-Z-jBi4|A>=#Ke3Y&+%x=-`ESI$ zzSC(3%t!)#AN>IR3@h-aF}xn%f#1g;ld+)Bf1muB`yT%y|66GRy!AEcI&>fUG5RNV z;SqQ`z8WtB(_tHa5I>HOx&se}V?0{bk7vS0WR`}hH@54{y7x0U? z6IwZm|BU~N|BnBGzac=>L?mHSKnmd(C+o;f-!N&d(KcNv@Ww=bE_H z(5r3SPWbKP{=|p)6MP!Rxk`9M*d@Fm{8;$8a89&KcUX|+?TgR!mi7Lz5A|*Dd!(o(z}v}fxRVqK8^ue=C3p%t$0uN{kC9#E0=a~n3})m^w1NyZo+f(umta@Vzm9tN z*WlfL4Nu-E+VSn=OVN(nF(P%)<{MlkpXA;`r?`)>#6N|8&&$}4d&u+LG{AzN@S}t| zsDOJCy~?e{x1oJxJh1+6EIR;?r{I@>FU-PK_+MNa6yPav|(Vb`|`5o#3I^K>R z#f$i*=zdgG#n;eU&lA`UmAV*WI6w@q9XUjX~f zz*Xh}PumaFeF*r#Xl^o`2>|9?33xFZIK&h1dkpvl4;Zu@X#6VRV!uY6;w;jImI@9G zTnFsdxB6zFx#{Q7-vjI}1rGZ-x)xo5&cIuK z0WDn4b))LODP(VY0=EX<_aiht{d_u#Wwb243Qa|?p&v;CS|BB1j#K!z@V>XA#bic$ z1Gl(uIgG;tFbX=1)(yaa?%~(+ck*AM9YFJs0KeG{bn_BW4yAphUw!w6_3PHIS$+L= zt5&X9zHI4|#n(2^xvFvYtf^B*>kXqWt-oYs-H73}HPux^D=UT!E>D&XDlJJA7sU$; zV$uA(NH`P>_Hn64+HJ5y=rf$^Kvo*06t4H;N%VXo?vDEQ#@mLq0JADqo_l=7; z#Zo;Cp3LB#3|0UxD1aMc;{(ga#ZtH>Ha<1s#$|2eTgJiT_S)pJ@v)2L!R2VLYy;2+ zP|6=)vlshEVFnQY_>p@FvMA80R46`fd@2|pM|+UsipMWll$thu&iHZRf`X>Or~;+%u5El^d5j*mwQY-~c2A#^d$oXWo0{Mma4#vI(9$*m zn%)6}IB8}KS|fKi%}L?Ap~)D16Z%%h`z?--r)OGL#8TGynE0}`6)i9|p|%v7adSa? zD5M`upGKkav9?)r;svROaJ*^3xX4})YMXI$M^KLi2VNOmzE^V^1H0FuW&pdA3oOoF zV-TxOp-D5cBa3N|;u8TOQn7_G=*gToyweD}Sv&%@EgS*W;I9e8U8zMdBg<3Pu`O-d zNP3>$pAw3-c&zOo2rwYt^ZCFt3o>WKV(lM@f)r1(s0Pm#z)GEmArb`BRN8Hj{Ab`_9vUbZqlm}5`z#qdvLNWG{_vH(`HGdMOOrL|mc zY@6hQg8#>xy3*(9U2NBXTc(?-k;#F_mkc-_&^>z_2OS3SI%(G2wl;adH9$3^!HJn2 zU_6>Nryw>qg=Pa~7Q?@;boU5an!+g^hHNaY0QhH|${Y@;7|y^=@JF$8aQOsabZu=D z;;{*BEo}?B(yiCVV_LlJAo)4@dE1)tEhgf0r4QX3PEFX+1Y@-fj~rYcr&rqA7VSk` zF*Kux_hJSNAA4_8YHG46p1L*}FNn`s4DYgcB(fLGY8eXSo+n{zM*qJo_z^ejC|4`TEHO~NoV?Zm?BhY#uqwX&-`JHd_@ zc45TMS zp(Z`onmq?Sr`2*E1nn6wKD+-7X3w3|F$%%+*%oSyp?{RqLML)*h%qLL=T{}?*h$-@ znSg=xqC6rj=Uk4_8&f!*njha-K;JIa7{9pyPR3I);MP!SFS;z!)YcY*UmQkdVdETQ zOE2N_2t27N)q1U2Hyi<+=s&c>tqiX^B9w<@Tf5b4Z5^~mfi|XP1gOoNJZJXCN7x1wll}8)S^aBnZktX&8=*eTOCzuJRg`g8Gp|ljEOb*y& z{EEF~N|Nm{+qYd2AHN7{&;mlY7AC78wy25Lic_MYi2ole;haiTkg$ihX_uHsICEr> zZ(C~Vz{6$P!wIy2j#50tU=#2zjARQ^E5fN&P04JP1@xWUfVM|c0w2k4zKoU@5IdKp zS{E*WE`q$7xG)YUu7DG3o?IRDpLo?^3P`Irv4mbo|ES>Q(b4wCN!rA6(i`BIO!8Zf1;u8xSTY#^{wAh3g zo9YE&ID$c#NROJ}K}JPuF|7#qvww-yb;-TWQgQzo_HT94sBB?RWlBV9nps6+{{UE< zOcDPGxJX|f&zQ^P0!$PgJfV0Z46hDY6{dFs70t?s4deca^wzLBVa9E6rpXilfbV;Y z@%CxCoN!*sHEG7xVHnuKOma&IJ-97$biP{u4@=m>ER3f=E@A$(_wPFM`PX}Tmuko| z9Z|0z&iL_QD~;-#g2rm->pfrJqW!ynFDW8s8y?};qiwLi7xpt@UjpSI|1w$!$Fo`a z7**0b_!nq9k5B`(C*k-C5$wXu`8#1h3C_FWx(e_FD0jkf5gbn=FQL2Pc%1MHB*M8v z0DlCf9!evWF;KQb2|>9$)8=F-3xr1WG~6G8QjqEMDtL`|5ly{9{7!ho&tdA;Ksf`i zz5yZoEQB0g(1r8V5s8qe5~09pqeNZ+LDz~zq1|b4ZU)qwxgDWd&mweH zJ^g2Eh zN;?vP=*ic(LFhCT!VPLq=0y*3C0t(nB~iVLi+8xZRqE)$91V_Eux$*stD)?Has&#G z=5zUQUW4ssD6LTTKsf^CBoq-L*wU*pD666Df^wQ(;qtghdn~GrF5!Z3ZxCKU<^1SN zC}}7h^wSTm`q5M<^PxNdWfv5Y)uU%tL)i@F2$XZ|iq84lAF77F``hnjyN(sBs@UNI z<8WRxJM6fs$=FYxZtTZRG^&j>stv6%P7fJl>`Tgxy{ovYmF{Jws(ZAL^TA8{pyO*` zi^)->VvM3_H|IquD1;L;XLQchQIx3Kb%f&)<_L$;A{0$`bGTh`R*jZPntTb!6eVAf z9^(q>>2Nr!c8$J*{2A?mas&!T{tUlAkw2l$~*fv1f1?32o6HvZ{B9hba`v`u2 zB!5II`4Ck=X@D{x$}T8JpnM5MA|Jw5BY&W%#I_V}fI`S0V5^be!)yH>wkkOV&?#~X zy7o@{@Vcsl3`kaFfM{_B@P{*i%U9J!e%t=lAi$^u%rs!sVXhF3Le*Shd+|^}zd(Ea z@@N40t1}IaZ%!l#-6pOZC}~H3W&7vQ(-x$!i0X;4fPgW&NsPP{AlU4R?Me_m@yO$FNH>Z5 z9|DMO5_jzYh;9kQobG;UptTW`m$ zTX1VVZoLM#CUI*7x8~zk9k(9FBVZ_6vEDi0uuc!));DqME4Xz%ZcX6UV%%DUTVr^* z-bD)9CswoFc(&^pO^FWnmyQDNqmlv`(E`Bv0^kWpV0!{enjPs-DOPAy4(8K+VMkem zaXe&X)oLK0*Wt$3VH#dXA3@<^f?fwSdL16}Iy^vyZ3C3~P`aUf2_+3hgxZDB@dwye zg>40t1}O8PY=-hB6p?l3ODF`b&UA4P>lp2HMW*9Zq44B&_))KR0V&Y)w1}3}F6SPI zU^O34%}?i(;mGF$ZtikgoLyMi|4-##|5T85w3XaX9-yq7?9A*RX#WaWH-4-=aX32K ziyuY#JZArCR{|Hqegs<2j%!iGLiaT&LVgVUs`f}D+@`iC%A<#{gWk12`qlqew;A-d zQA7cFX4hoLaTAgdrB=Q1INCUZZbPalsY_isn`IYQ>;aRwmA6=x8_QA<7o@d&BMOH| zM5tVldgw2xijc+$iq?TcujCBk+5-o;H9c@O@6E2=R+y1@-uS(5=IxHh-Z$e}{ZIb4 z9x71$OaGbwkqZ;_i2n|nA5Qph`XT>yC1jxaWhtZ}PID6N>DT#>XA=Dy43Cfa9*PtG zm0spw=+e-N4EF+fXT8n0mhSRf(4M33a4Uc|Pxyv@kKc@_b*yv3ufi#qQSmaI?0dR& zYGgt46JNi5yAaY{>x%YBt7)HT*R)mbingF}ZC=Z0vuuVJ0@e3u>|G`S)NibSE49Jp-dqk6Y-AfDc-hCJ@Kqbyq%o*XWIzrI85l@GHePF z6Y;9HxNdr(*548Z(-T_dvs#zZ?|je-cqv{}oOJ_Yo>GZ+F49a&89{N5> z&pp^kZ_JdYKlsQQku~D{wST13ZT*U?-woGz)m)mpc1wVb1(RdkK} zj(=RPtQFqybvX33RvFP)1shvKU**CGa{xncZe)W{jCRW;QJsidxw z)OxE_@6)Dm#H9B~Fh}BAme=<-n(2$D(YUmSdaQn9WAxf^y5Pa3f1Z?%CZh%5Jw$3E zdlLI3s16;A^cJ>*#hcj(22=j3Tm zej~$Db-0;e!j}oMZvPBJcwiY_TEeR7oOxQ@A**A6h2XI}+78ozVRR{>>MWYMQAnwz z4~4oT9L1YajueAn3e@rHU5aMY2R+HJyMA6er!vtWc*VJ~$7q9kN?h04 zkFUNh?X`_ubd=&1rbFxOnTJ?Jxu@1FIoaDaKLbYf-T$9nJs*K%tq$5{05JkG9h=9+^v*gSG=+mrBl)H8pA z&ZsWnxi-@_Ja?0jpi%4yC__lnL|k5>-+aitz_yYfY~JETzd6AU>7WD$#$Xeqhxo(w z#I+l`NoywFPt7pczIo7r-~n2%aqZSbg?p=@j{gmlbrzMV{r zZ&r~2MrO|cXc@}L`kPs5oX!0pA#TwLYO^6=bJjrC(Zs>ADVa9+4z z?gX_*;O=D6#0^>lgLL*J^XExN6eyuwK!PKsm{j!&zS~{kE+u^R1N^+DTW)9je3#A{Q7zFo zQ&=BK8u%%a*A_uv^$VZ*dT69b6xuV~rdt^ID<@M@XNU{;4NuSaN1`_Ou^RkJ4f-g6gb`KgC!c=R1^ z7M4Xd4r4o?WD7-Rp|_%SL~& z@Vi;roTobmvtKzn%UJCmxm;cN&4mExMV&M#;A6k ztKSWfelXPaB``PLr7zyqG|7#r>1JAI?6+6-QQ-BF+VKvSuxdrr>e;MP+v3f-4qqlZ z&Ny<+px4Pvmp2s1J{<({1DD)rdP<>RH3v#vj8dH*4g_2n%(Vdn2NY&J- zrd1hF`~7i?h2r`N;BK2;yKn1T&VVm3i4m&JnJalp33Yv*z)SX5x5wU>tTn5Z%ax)V zAIH@7q1CgC1QiWa)$WLHBmIq2;@yiM?e&gkc%}Hf=NYPrN27CE0jF;aYy^JWzK6%N zm+LX*Pwj1anGmj647((AI%QYoduwV%_QsH|23Rw?l&V4SL(*b=*2DW)`TBbzH*2y{ zu$Q3g=_#DtSHKpTg~i3RnJC;a`JgeX1i!5DB-@+Zl;A_j1QM ze4$>>WNH{&blYDpsNpkQm|ggkTTho1Tkhy*mJN#|r$1L~dc^7JkqU9gc0_uXwq;(P zWo%p$E|VfyKy_r2RjY7~T5HQT%uaaf@x=EMeA#;0T!bO5mykSTZe(owT1(-|AEp2F z(W(`9n`XZs<2#2%>lnfI`hL{*mBHy1471osssH;b*TZSJ(NjBu2P?PMVq4Pf__5-Em7Y}3Ls_%-#t->Yq=`X&)!0@sdz`8kT)g&7TkoYrafo;Ff z+9^Q2kk3+*0?_XK2%b4)&&P2QVB|qPZD%dPX{NwJV?qu&tl{26s)>^`rX^QUSI|>q z`$|IrwJ5wT-NSHRgP%vK$-$40Frg3Ha1m@0N6-OO%= zY+h^|Nj8TcomCI>XbrK~JLtoZ`i(>o)s^oW3tM0YI)yOF7s57CLZXCD`N5#Cnq1f( zOyj6KU%5G0%BuwgunnAfMB`lsoF)tlu2yI<;aLu^LdMt`WZVT*V19N55avXL*-VK~ z5HG0f;Sc4Z;&X8B=PMnB3sahRwRJeChpCTTsheQPP_vwPPn~{X#hv91#5bSus2Px= zl2n7I5ad(0@TK&pg=;_Is;NPnKrdtyd|Ns zxQ@tOY%4TP_MAu#l_Y)+9BFlPfl~Qhy5fhWx}1UGpw*`#n<7eO!J%?zqoKLM&OW&FdjvZCSV} zC7*?%Ha>OJ0**T60p_|{BguTHn3Sm^EsFx&8G3-Cj2W*Hb<`5gXnfdG>4*|v-6v`C zu-2r_fms^^DpW`g!E$)9qH-US8EhN>rOzCKmUy_?_4tu;EwGVt%kRXBw5&quTQaew zlj$PD2%8YU*+=r$q=ycf4~bS<^f&?Ji`(>k9B@Kp{KkqI48Ll-PqDXyw@Ri)#Hz9_ zcHT3L4D|}lC+Cdb)bh2SzBd^5%E{>p{Ak^)P*uXUiP83rIi{;_(4cZMtQ@!3HR1|>xh~*p2ztS~8%ZJH zus=&W=3d}Te99VfGQq#%c04eEzf{O<0xB`uc4=hwC|5C5F2Go_ST(8VgF{D?jT|=H z@YqJ_~WyWX!%QWGNT#ZHJCG2J{E|O#!{@FDI~S2LhTV7Bmyi zP$Z(al+#tf7$5}n;00LuggDadqRa+&EN>TIZ2;NXS6s+zjzfD+#^&f$nHG)aDpUUh zfZHHu`J5!TA?io^TnoZO3@w*~nEoaif$t;vE9wxYCjn8j$AVfVcJ?&-a`zQOu88Rx zsT{n{`~+Jo3fkt_U9##&oyE&&SB2+m-VyVx>v&C7kIi9=Njqh1hG{=zB`ettTiBtx zm1xgz!*FTCble0^GApZ^jumXNC>{CPBve-6-pErQbwsIdUn)zYRtoL&hdU;1JKc_| z)1%%?_Gvx|gzB){K@Ic*2<#wB3t>@p%gOF2Bv?*~Oc`vu2qNUwtb8j<# zTNMxsLU^C|TZjwdxE~r23vo6|dx#Lp;C(P{AuWhy5I0n|5E~;nK&>d?eMWnl@HgPM z5QE>g^yL5rmtF*9?GYjG)P3w`JN$rMeFW9zh$t$($T_|y=sUV*MxwWFN|Iy6ygTH2 zs71OkbHYY^2#PEAi~o0H0gto!af| zr?Q96%GbNd*b1+j-o>QCkx^s(yxUzA1iEVQF;^O1L(@lT`N8MJex4w`w$4Ku-nou` zYgIQ3X$mE{xsR+iR@C<5gt9G3}$@!D!s zd(f%bbXMeKY8zWsbY%|99oTdQ86jIf8|@9$qcOdN0EN1zb2p2w?#XyAT*=uuhauL^ z#yJlcNPY-`&Zy@FrR*>aHkqqMAq5~LLOY`VE4a7zEzQ4>m4DzC-k{P<901n8>dHS$ zs^6XY3Exlx|IWkz&lGB{m|?3PLRgWX?g2^Dy_8WuC~;7WQ>|(agrpzegGzy?TUR|�IL3`t+HRyaD4W8og4)JNlzif~?guJ;&9(LJ<xW{dN?8Q~bZO`L7lKZz}N5vha^G`+qWn%+_*Cv+Z$XNL+IRAGhV#CQ|t0y`Ys|CuEbU)Ovq! zO3VbdACul6;RN&LCIh{5!cyuKV+#a8g%g4YLWz-x;#JTD#aZcMvw8g!>jGsx|CFyZ8jvTA3Cz=0R`|~OHDwR@s}+4S6#I0B+Sx< z2IF;OXJ?BRvoEmCcD847MpX|B!w{II@LhA&7=iZ;D$hu6?AHZtk6Anm55q&y2Rqh3 zzW0MOeNK9yz247eKOM)#-4orVnTQg==#D~wdu_5_9nXIK@K7rypecnn2`8-D=Ue#$ z+gOrzNyU6dH2kx^uwfhtG!5gb%UMQ@cPEEV?07NCgY|-YL6j;0KkRakZ1kj#X5@DF zq>eQPyga-9dl`~WAlJoSVY}xEcDs_x&*H+n4=W90oaH-f0~yM8Pn$z157mP+=G^J* z$HHK(e_jp;tY3)SYf>gYs(u@ouiURo-C!<*eqze94s@{`U1?_1F=5T^ z_u{z~y0<%RnZI)XC`}!9=Qz6;1UFedN7Z#htaSUjl%6G#%O?o`4mxb{#Wc;=LS6c_p+U}dP zlX2^!JQx%NbWi^L`4;$uKwfNGpg2o0rs5xj+YYfY|{6qNd4U^F8(_|%D0Oiho z{7h;?B;76%H)r(9w^4u;NxGxIR6eedQ;RMUHB#<_aqHAuPMqWF@-y{GUnvygxV%#k^-Ga%A>7 z*BYD#6swbOA^T~6Q5BpJx3$Bn0i?&9g}pDOt09IN*ET1NT|LNC+#DgF2WW*mT01c! z7Whln_8D}<8ag?^iiPT+~g6(W*T zGPh9CoEx>+HtEql`Rh{Hl|Oq5>Z1{{{=n3ow$TVrF00`Ykr?Wfl9d{({)j55vV<^s z^3JF$K{?OTR|SlYymYgmk0InE7&v2Px_+Su8{G~rDjm6b+0AogA>3`FbdA{n4`y85 z+(X3J!>EY!BH~HaSsg?#x${Wq(x(9pyKDj6{82fB$uHO#-46hQS4sCO%yknUen~ICWs2e$d$SoD5uAcgG=m}V9OaJ-B-_) zwEMnmN{XST?Y$#7JS`DOR~fz&M9Uy<7qgoX*E+0ML;djnLlchA3K+x(pJ*0D$iZGn z|Gbco;%r2Su}GkTHCR5;n!X>!=|u=hlhkvD&kE6Drswhkq=^SR~4SBwg#^Xw1XnI;$jSZUfIYn0{agE*g`cea>I?XD(x6HR_@TYv>oSUX3a zFdyX^7)KO7)ixTJFaB8V#)%$m8^G}y!>4Fwo5qS8F28H7NVa&?QF2&#cR*8xS_UBA z%87C!m%RJJwrqT>OT*1kX}hM|Qg6E^7j?gE>(7$&cyXp^(1eFK)F(~UTys8q@lq9x z;UNyk*NMy|oz?`*Wv+l!_U}(Ha?DQq3PK<3H+8*e#898;al|JvO{B=vi^k1sA~`z- ztEX1Yth>R2$JnqICm`+;o!q9zjlz6Q%mC?yewSv5THfK@^D} z(!DTLY~j&fcTiOU4wTksPXTU(KE7a@eVC9f00S^XGYdAP($O9`qEZyk%N+v!^B){H_$y%bVm$<5ZxiQTq# z{Jj3QqjZ`g^QgI%(fE+M`QYtAnao*(ff!3zNU=KN$q6p)Cr!~eWqevye5hcbVsgX5 zCNa4R@=F0$d@03}c_QbtsZReyZDn^>CGZMs`GNbCHpr{UH#xBwqpIKG4Oz0rKwX zJ%~(h-`BrII=w{-;C>*W7<+!l9U??1jr#%XZI$6*!n7eip-2Td_VpXZD|%g4 zZtmlv<=~jrC3vTk_A@n5u(v zsvxc07&>Y>Z}Ho7Hb;2m0s3UD5RCsLAoU=&2zj5YW!b}muOWLakT3~R z;nnrB>7v|F|KgT&?Or-zo&l*a=>A_6_@6qpnb_F=kiIPc%T8?t2{joZ)&JMhm*ubG z?hiQT{~wg^KlXLA{JBH)f9mWOk`VqSQhz1?uDkyR$^1`+^|q;^tNk0fQ^Lx~`d5kk zlGqA{#-{cTc5i4=0RwA2!`~VVekoyDI|DC(d7{-MG=fRzEs#L=jFM|QkUTbL1Ts7}saU!PvHUj6Oc&sI-Xfv24NnfB|7 z{z!s$-{7m?uvtaG!AUIyNyMQdk>DQ(>eVBOI`}c+a&sh*wzKw$BU%Q)9!JFN6%@$9 z8GDS1)b2WIAe5U6F450O*V-0f`$=^_VNcXY?J=H#=-wO#L~0y_pHNrmbSfo!jg5skw#Gq-)Ybx!xgx9cv@z=xOF?pAD!G`u-#h^Y|Y)2528+Fh|jttlopG5>C zhB#Ll(oe!``bdI!QRB_+lm^w^pYj(+!R!AF>J|%{^$|*S|9P&_or0yNKM#qDH^@N> zKNpt}$Loo^ZDRne*}_cR>5I~@=}%(Z(Kf&yG`a#&Oo{A)x*G0DOPH6YjG{ZK7#MGR zn7^tWGuuMGdC234Ag7n8lntM@*|X2G+dIPuW?A*UXaYZhoOKuktz!?3FrK|4EE^hqe;Q~&c){NGp%I3*-1(7r7pfd}OYh>KZtG94BC(kyP?0OS8RIwZYhT+=*H7_2RAawgO!O;LDH0oNWIzpQ8~4@v%+`w$Ji?nThnI3Pln5aE4bD8F{I$hJqI=iY~r8;9cupB3eq| zyH17Q;(C=C=N(6jlM!r@zU!L!*!=wJa#OGj zG$^T^IeshJxKDl_ny91L5^`gxuVs?FQ@q_l7w@q1rI^ zYytB3#d65{7ZTD={6;RUp{o7NpV{7?5@JKc%;WhYV4^Lq2^qp>W`^QlVP%QWWeyo3 z#rTx1z& zNBp)G-K9ooD^?n=M5a4aH6&eAg}Pq3;Tm+v=HO(XY7*P*Xjexlsf`xv=kx*EE+{?4j24 zt0(O7q&yhBj)qeR4v7_yiIhJUQ1C$c)T7;3ii4)0?)NPu6-k%P*Av#b^V)-7Rl160 z8;q{;D<&7*)vj6eeHHNxL#eDmJ^vCnYgHgGjd9w>m745 zPcC93@W6^Vz!hvh#)u=bVmNG_RzKkR8cBb{dX0X=8&L(gG>WW@8q6o$VJ$4N?pl~&6 zeRUK)jTqvBpkvpx>+GCKHkJbI1-C$e99lUSS+u*5vspts(adpOCY?tpfnc?tu#B2fXH*4y9pRZMPJ4_?O!crCOChwsY%CptC+?Y`*rli7Tb6y=AEDKL8~@eDiSG<{OoO4~ zh~Aq#6_#<<$K@EiGd6b}%EBwXXeOqmaKx}QYSzNn>O|BS{NGP?>E znX_^MNUSfr>q@81wf7V&TgIV5sbyG!f^Zz z5rEOamgTje=1YDra?3{T?#^LfGD!{9zMKRGQ6k(mxoqmV?9=FV50+MKAKg`DX_+Q( zmC0rW8JKZ3owMLjI2yE3PVuBXppd!~@ruXAKKAkkVy?{dY)t0o#MkN?5JE9VLkzWyI7x3?FS5Z(s2M2RA`Z0qC^kwh1N>ulmfy4tdrk6!=~A< zt=Iw{3HZ%m?yhG8THGp7yLXkGxKn{tB72$lUd>Q=o`&Q zshGoQfxWObLW_I){FR)n*l<222)}RSG-WQ?8t=zbXg|gn(7_doCef}jvj+w9R$>pQ zH6HZcBT~QA2mTM6eeds4N#C5D97T->M9J!KkRGg@$72p$hL~L(~o}1os*ybZ0y0 zz7cqn7RNe0s@tJ4RArMu7V;FyBM1~rxuKnN4E;pYaS>`|IFp$?g55? z8N`*M0JR9!XU!WxOiCZTV0>xy(Q#@t!iCX&gh*S1a{)wqU#h*!CmYx8k(|<1y972v zvsYO6!*}QjU=RqP+l6&vV(C8-2>SqEZ$CYO@a8TA%ITwUyzUu7 z(>N*ReadGHAO!Xx*=eU~enJ+9;}hmj?;`}hEoXG{AA;~70yhvsV86(c7V+SU>GHp1 zMj-;il>!&qFEp`8diZ-BARk|e1Sqmvzl9g!0WcSx@R%8qTZ25*m0sIqmAvj4HvM4?TA&Qe>fpvW4zXLp_`L#hihTILKueYgrX!JgKy(Jla7X zcLs96NVE`gu!eT*yIAJ-_rUIx^C#;@e(%V>oH_^4$Cz}g4`6J*w5IxW&1!K}D#l2? z>JioZBhu9TnLT1f95nry>huq|mDXPa_lgjEVOklz4SX!X{B11Hc3B@|4&YEE{5Fl3 zQ=-C)!7eTWibeI!blu$rN&t7#=Olgp86*fBcJx!)(Pm8f=nE%crsRsB1>|hM>`eH8 z__sTFK6k7KMrSgH!|s6Z6(A2A*ae6?$xQi=T}at4Xiv@Z;9^3bI9(DH3yK0g9qtAK zs)Mz;&OP{CShBrS(!|+`!{YfmP42@HkbzIWPxPLk zc^i9yS&8i%-v;7^65g{u!JJCcnejz2iG+EIAMB9HmO;U6f{5AI@_h?}00wy5Ms0AH z6zcI&OpdFgX=?HUW&~e82cVX(U!mzoo%A?hsV8S=!JuU}#;O)QvNmu2W=Hd4ppNxC z-L%TO_#?e^5iuuEC8xMKg_9KSvG1k1J6T}Ils&P*4NJ7&ZK;UEwE2@~Wq z?$jXUB4I8O1bFyV(2fE>{e?*D(0#Rk($$ivp8&kABc+8+TxS_PW)OogrYzBqT^7Ra z@unV52!=pb05vd>wXpJVC5TDUbakY)IYByvwwAKpwzb*=K7{jBidKT%XuQRmUaQ5D z@kJpTf-{w1sUe=JT8UVIiB?Pxc9W!XSDn;4mQ5VHCmD^kJJXiPj8F<(3~UFv6%|uw zKvn+P!J|_PNs5qM0|t7{;eq9}Go@48{aqBOi011+*d0RWNJmT8-NQ#!-*k{ZXUE`n zrY}D*+);%L667hHD%C>7{Yh){HoEg3TxLGabA(le^<)W0^Ag}IK)}P0v>dZB$|0Db zBpqCPORfeS`HJCOfCN?Fc+@-XfAV_vTz?eKBJ@Q<^OYLv9B!dzc>~7l6I3eM>8WH# z+Y(b@Z1xYf`iemVhV?FJS8zVdSbh)UVS{Pm4bqM8;Keq2c|_l*6x4O#%HG zz_4%>7TMskh!EO^4SGxN{sIz~nm{s?e%-OS4)JpXZkd0HkIIGZyXo{XE6mSR%2ioQefXkq zItxx&f&~PXOt)pw^_p%A=ec6aVObeYpEH5|D_MMnH5!eP8<|Pw1uy6Ep(FYv=PEF* z5uh}fnL%p&!LL*!AQv&z#V;h)Y9)`sNeL1RYi!+D8*jgWWIPBE>KD~3ft%(u*6#O# zti~5hbqv?4V1BouoU=#PTgJ*93rBlTFAs+suw&^h8*97U8etX!ExGRC2Q$(eh0kd2 zvoPNy6=XQ*1(M~D=Wwuvufv6y!CLFd)w@N+h`O&?I)B>Nfo|qSVxF%e@jXm#u#)BX zcBu!Kw_3SbJzqWu-&%YTus=F39tlLE;)Dmd8d;g>dD0wszP`y@&KOkAv8-oq7R1{$ zpM0~CGey&?)LG$fN_V6P6U2SNUJjl$_BmNtf@`>T5&gK=vekv!SAemrzU)g@XBSG8op;kqyNN2}@`U>=_c zAb}{Hh=x4IWE2Y&8$|si${&t8y8VpZrNKKnAmrP0H+k|h)p)po(C`}Jwc@Wq?<#T; z_wtVYXv!JG7heW^k=&Dq6X7fymy9n&&l$BIYk`{{N^+rP3M4A_oI*~xB(f5P;>&OgQ~a+u@s=$L?a#* z2i7QTjo&RjY6>SO_e;gXh#dexuI1oII~A4Bmzis<;3Fjbfn~`(f?^z`MZ!~C+&x?< zGdcR{UH40AW^gm2RU>lkwweHM*Ontwi}jWDUK(_{q!4WKGQPnmF_0e~`-1#lGg#DkkaN}e^enqG@< z{ClAaKe1YkvYj18hIa1Bup%U^!3o|(RzTamYCOe;SZF8+fxXfG%xGKPr_`FA%iF{a z;oHoL#EtU4aBSW0=O`&nEg#ou_scUsqi-4$yOc{texp{lNLO)^LCaUdCK>e%C#r`z z?@JsYZ`Sd?@Fla|2MQ8(PiT1gj*2X3?IbNms+~orOb2|ZvjD1nuO3LRFJW=ii$q(; z)^sDk9xm88VX#ZeFBYHpFms|GH&VIk~HIJ=oPI)Xc zs2HgF{+g?)0&86vj|&Oi^;}iYTlLM^D23Ow0q3R-{=l&(=iwgA)+w(GBwB_T$z40h z*&Vc+LNQsQivwV*0&O=fO-y3QkQ#MDZ{m*@!cvsnUG=XD6z?l6Lrj67{mDXS6l8N)`t|l z!QTf;=C$?NbI$Ka&ATvFrT{!p7q~QH>EYpmA&uLJ2H5Jws6H@-=bKDeJ^(jCowZ4j z41^#->lf6d<#14$)CmrsCkv$wdvGu${jCvePzW6uE1=)dOBmzWxNbTwHSB#hF}i3Y z&L&ewFhI)>L@bAW9Rb?kIHs`8B~oH*Wc@KJJd#*=ZP$Jo3*$OG8Z&|Lp;dhYC)^uu zNUR~qfetX~3!b7D%*TWkB5P#J8=)_^bReJI%9qElVtXCF4XSFxO=il73E46iB6 zvjtOBt)H>X)S#6w$|Io4RaVGg?$6Xbka5D0){TPS zcjW>FGCA@tnf0{KgfEjDG;g>__TsHN4rhMAyT zg~;uMwIIC~CXN__jCj`^kCTaV*_dnFhygBK=k^{~;x2MZf;RLC#=dmAR)cV@+ihrcl zexbkGG45oBI&nt2Z-+;}EvtfHfFJ+l+rDPW@_G9y92kYYXq!$@cu}J!+9kT^rYyPX zKw3g^eAXEVNC&g$VsYpAwyP}zvPlS*RJED(5|W+tVjw`~wCa}5Yw7uYj-!IB?KH6K zrrf&nbg8W43EdI|`Kg*q6lLr1 zkO;~|^Leo-*BYFB2E^I!E;*{DT}M_ZPES@gwNg0$cCHdiX=vD0?3Bo5`1qFF-MH)h z@s+RG+Ek<~9Bm_}84>QplRHU`T~cc|oEMm2VVZa{;tQrQ^57wT>zHAJu$B4zOT~W4 z`ZXH4O1*JDJ1VCg#G~lP zbcq55yO~zNAQhUcde=|m0jO455bctWm;LS_y@aexg4AGj?03XNZ?D!j+az-B;S>=t zV1TB+KZ9N=k6w1Hjw7Qcp;uwV#D!}4+!-_5Fms*QE8h^>)QtgqYSuGt6M?|og6-E1 z#|IxdGaE&ZsvrPgqkEjfcuR>1q;94%s0`LWPZ>`{l>V5xhuKp+5Dd$aGEXkNj2wR6 zpVF>yL+Xj9A|wFCP{tMGH}MnYF=m_J@|olef#Xsy-fe!xMU@R6PtZ`s+TC-s%Y$92 ztjX5orpp6|JThJXd>zl@##M`TFgz71)nfSYve`T~nHwLL51@b9-TD4K0rY8@lgUL{ z=GYV3_ajz#M;qgxBfh&W0nakfZ0_JaVV`&4?#;+$=rQyYpxHzKu_oUXB>ZCyb8|=x zUM4g6*o0oL4}jueYs5X+Wm0)cp>^2Bc|P6ZxNeH#8LaFVxL21vo4F9%a&vNbtfbE* zeVgqk$~It&!cgYMyriCaP(Y5mr~s$O){Wxj@5x^!GOwyy&N(5mvf9s# z((!oQAN_WCk^Ia8?6;*1#4^uSgJk>qu~!wSVnTGYmNE|dz4l2WwiRWHNOE)XE_C{D zy@j@~FQ(Q2K)Dy)2MKZX#b%al1cCV1dN?iDnDbrQWS^DlLUG&hE8pXNov)0W{ z3ghRYhNtgV4e^6(O0!M+rV^t|6nmrhZ*Mbx<;>+{w~~lzYUEHg9>^Sey2+F!NL9`A zVs6qE$rv>Fbkq#oEQ6?|r(3vOl-CeYobzq6D<{hFm`1}Q1cC8JFy^?7Eu`%M178>; z2J~Q_^0t~J+T7ALCNG@u!E(c@HxW?5-S2OBZ!!2$V47|iIh780Y+2gvAs_4Wqf!a5 z$I3gq7z3hng)P`)m@%4SC0JRw#8@J#v0h`O32)rgQ_o-cjdZ)eX zR+x4Symq?ZmDD6D>Rbn6KHUdq!xiM@Xs+rf;WvXm+Pp!>1wwsrTg%*b>%psO1-E$E zleD}B2Vr6;g877N{hcfA9Gu0|6n2ICNtpr@YKYU4<0KQHn_$zOOatTfF;zwqe6}Oh zV#I?RdA{OWU6yEZ^o?Kn>r4fXpUzp}Vs{admNC8rc|cL1I?WLY+d4T(S~6O1nYO-f z*o5;*!tYlEpuomPRf!b)WcYd{Qyf6Lj&n1xkfg*TeHzff;^A<^H50G0tt=C?Ai4Z< zeUW3s5(}{@jt`pt^?<+#4>_FV4a;MgK0}lRujny{ z3+3_Xiqj^}0qM?KR8ER8YS4}pF~bq*g|S_z&~86ki?pT!2sLji8gym_CV7_G>%@}w zG99l=A%z?ClsYKX zQNEW?SG)Yr-RI#5=e#Zu-w9rv0$<=e*N5+R5L6Q_R-FR)uCjGDrsbfw?Tr-^dB`LpMPxlq>HLvQmkA&i! z6lzPBZb~2%>xY230b)dmJW=R-yeV%jr>{I4Nk_)}kFS>u+ph-uu>lrVHhp9%s@X@A zCkN~Y>eon-U9K*CYr$+e+>?ZE_;`Y6xlsbAIkt4-b8xTI`}PK-69?;lFuu>ZgDdQv zvVP1xf%1T#^gpRwPzAAE%`uK~o{cEer}|Fm^w_hUtz9Urp*QEVF<0bRZe=Kxu|r4X+TG&tbJ`2e-2pYZqRgsGQI` z(7tAL16}n!70{Sa=~$kG7e5Pp1ZJ;RPS9Uto?kW`*j@v#A-*BpPfm9XJ|AFREJb2x+*J&Tt?d{wSBzNxHoTV1wUJeaPRk zAVe4gGac^FPwv0!FtY4P>*%`y(P{9$UJbGW%Up+A@qnDluz5D$n9uEC7^+);-;V#j zBH*6=-A`TmQ!xDKCWNl^AIDk9cOow5$Ts2UJ~rNCUg8^DV4kgRFNf0C#y-p#S8v0I zN9tgB9ubZ1pdO&_7-7@h#EM*{HrDq$+E8q~d~&lOaUXF#pfuqc2wR`Q8-YqDHw|)h zQ%)A;l>u&rlUUcX4)76Q2}Mc2b>b!pYBc)QocT}H9_Ywz1B*~T3QXuKM4_35R-?ut z01mD^D?A&WNL6%M=O9b>JM7AOkh<#d`@b-|fXk!@83S8e<87FLyS*v(EIx8T-7^bPz7B$ z0eja%wjcuQ!y#7o(e5-$yi=Kw)!68T#SNSQ$;%s6&rh7)?ZFP#&qg6YR2Ka4BVS~6 zGDI25Rw=i!HbCD^45(rL=_Peb`_re;Fld;|D?9s|)$OV2 zSj{m|vDR74a`{r?j<`6@UMUafj+>zh#5w9;nk?DqEotzGf}jm*qI@EzzzrH%yl!D@qd z6bWB8eI-h$F}>yZeR<}Fxk{UXZ4uIz$_Yj-ZCV3DXo5Q0wgIZd*M@1bec|;B;8XBc zYlo`2>RQD^+G5r}!`T>?;Ud^-mDAX*ugw(N1|ub{FYB@}b%$!(Oe2S=txG_-(pYw% zK&q1LOYrJP*NHG&_3wImIajlBs}-N|h?5LL_ZLBTH_buy{gAqzj-8ki={)gAeR0m3 z3)tMOg=$CmdRi2h+oUk4I5Fub>tbUaH)F3xTX3Cfl$5oyy=eBZ+K!ACr>4ChyZ9-d z{Or<_934jwQ^cx(w?<-yWV;%l(vm9uVZL*-%$NAUvd^5I`bvyYSeTeyHRFA1os6{m z{GQ3e0B(=H0ZLkMv~?0qduA5JY}Zj$Io5Wugw0ub>V52YTxmoEj%Hh)F8?kxFl>9WcW)N1Y#zH?U z^u!jR)foX>GG085#P=qWISN&|3K&=o(g{#J#$@3m=Ey-L>y<| zw+$c}1Q7z!6>8G!Hi_q;Qej+S9Y_pflv$Qqizesxl21&WyHso@q_FK8AD* zw)o1&s9$X^_%o5`#ARaGjL|ak&?-pUvUF|bgh1=fB=z06wYI`6Yo+(~X7WVK;^c~o z0eT=?zGcMy=SxbuRDX)P_`*V;O)3JL4QXi*p0$~k$=i5ry?kjpOFr59u+A5cnj z;1GDA)_|cn{U9kjo1Ktb>IZg(?CBGG#kIIwk>c*|?(WheMN4saio3h~(%!k#x$T{2 zX5N3_~F|I`tmqb_-9bucli!F^W8Qi&WPHvtJG$iFIA;0U? z+M^cG>Xw6Iu2tQR)P9bt4bF5ID zoylo_K8X>~lXJGEN|EU<#g=Tmm~nfIIx$7N=hb@@^Lb%U1J`fB^awP8@I4zpC7 zWT-avmXn-SPd-24iQr;;9??E6Yl}a~+)2+}k_r&d`Ve`^o>7oL06UMBnPwPaYbv&G zm;}V%%j{*#=s=$3_Xs+%qLL~HD> z0E|O4KntVysxB{y;Jhrn0oN<*3(sROgRB;Wr9XS&rEB@YR*+5AV^#~2BdoFuUL;;*2!SFhi!cjZIgIAh@u!N2H893-!&$@jq{I3d z9Q?!NHbVIFhN!WToXGqh8FNBs%)@9ICj73Rb&%(f6i`ygwKMQ`=(2nfkXx!-9BVE- z&!B9=8a)V%UAH(G{Z0&h`}>^A5kn(u`e38{HmXU+%i)cQO#C}u3tl~OYJ27m6oRij z%@Ac$?vONIF3-V&@6SyqdGQ{V^s~o@7nnR+c~OsKiro;*n`+6%ECIvj8PgcN(=y*A z?i@)^oUQlt{SZ4)x{0i9i&e^ewyovnm)_cdspt_f0=d!fGaJji{$-P4?d=7P|qI&K150Zb)dyVIGvvBVWS7CGz6X z4$&>7CTbuzO1fjY)}|+}Rdev0Q_3gsXHFW~tMxtN3wfF%D77`{drBZ+V)WC*$Su>v z$Wv#^zRnB~B=v3K$p|4j5b*8knar%rIfz0Z@`&nVvKxkVn+MB)$;7Xb4LR?4m2$7+>YD zsC z;roVD6XaWkbjTqP%U^kRXw%&JcHCktW*;&5I#Rbtte^Lf!Iug#y8!x~&h3%^?H!ZD$@5@CqFR&8Nt3dH-AHyQsiq=s@RGI0wVR7e5UXYO$1x&FL}d~nf@Jg z2n)RKaQxW5(g;8rO#vNP-)#&|>KX;(Y^Kl-MTAleb+;xWPeTL+Y8E-;GvQ7LKYZ$O zg@RLI4oJ$|nnH+Z>eo3;UV`+#cnA|1MbwJ&1xF^IcD~sl7+^TH!*%9jNKj)aP-n@C zWqJzo`f?*QV%SjYE8xhq3y}s3Qu-nxSRj0({%>}eVEb!QKkq>ANN+FiH19A$7GG)v zbp$*FQ-qfYkr-suU;tg}-oUxt9sq(o!gB;&1OgZ|m^dgQNCo~oYLZM6SqS4NTdoj7jRM;D=E&Po45UEf%cv~-qnTDTclzTp)oKXy8^QS|*!=BL$Q}Gi+ z-y?64XME%D@eG4d$`=Q4*DH*6Z#fPhBnj!iXHxNDMI}@*5{YIgZvtp zwx!fq#k!@H_1#rk0|JQOh`01RHZgHFzS^&&M*^o8_|UbvdA zK}RCpB4LGLJ?pN|j2jpC=-Y}B*E0EL$GEs=4~mYl+&KzjbCxsfIje&Vu|#_a{)|=b zM<9%FdC#^KqB}t4td~6Jw)Zu)a(zF#Ww)1g2yrTV4G(Jhk}~w8gVP_ zohrrNElK42WgE4fsx|}a^GAQ;hmSm-kHLJZ0!>Bk?jPdXQI*vjBzQi~zrwodmHA}w z3Sdle<>drlD)df4A$03KWWqzO#@}Se{E5K<&I@1$0DwR9k^U9^;Lj9-pCAMxf0IJ+ z7jTZB*q?b|?9YZ5==@BwIoQNeSoXIN;yDD6wJ(NG+CMV->%HJd0f`RGtn5W;v=Vp_ zY?zEql-D5jG;CWZ2?fQkC;1iJIwcv_n%O1z?LR0z_}kVOy`&qTKYJU#&O~|{>A%18hz~$7MI@jjzaUQFkJ+u$di*wzdtUn;ISBfG= zB|Vgx+h@*q2RzJA79^jvX6NcWJ+5*PdcEKlR8+d#YSCj|zDm%x*XSz2hjREvzBJ)= z>26EGq#ewraIFJ1J7ePMtFH>(7If^4Md$YI&V31-M4T3)Us2efi!SpMc=A-j)pcPR zMKUfUazIIUI{7r@6QlBJ1;B8IaCOmt!?Ly>w_fIsK1KS1M`&t}x5M@+ge^eBrTS>2 z?|8W(t&!)Z+XZ=tm3u12HZa#ouS}@SV99(N|D5NH&~5T5w4+6ygN5O6FXGMyf%$3%?Hw|#w*%@Y-aYT%uj4>} z+3j&do{Bj!j?H8M`kEwdTrpqnR*@CoJwQX*K#2d%_WBcG1iZaie*(+0{43tU&-|kA z`7SmlR(6&)|4ieN)_G?@!YHaBD<-ExD`aV5YiX`y`}cq&e}4NPkVaV8KqT}44iE_& zI0=XY#QvXPM%ey=D)JLpl$Gtr^nSvOfP48t`EPJVf28L8Yp%|p68b;0ifrr+zKiL{ zC_fX6{=HcKJ-i4D=%2FvDQ=P<3-U*b)X!`r6%z{q3tN*v2|wDYnCROXf6qkvj!wb) zquHH9{`LBF`_xZmY;qO}h zG2YK(`~TB_-;ez_@Dr9l5T1VK)vp5tSqdc zzvQaztGZjEPu21nsYDq_Rw>8v>FZb1PJ-Uf^lGzqdpT9oq3c3*#|7#$MOMIfKNUv) zz^*-AP6|1Y_fCutUYxTAn3(rkyQ=DR5y&lQ%oQ!3Y=}2o<31>9l=M_w2#Uspw2%Aw zZfbKgC?dY5oEUhY@92KWvFZ4=b#u`+{9uul1Y+$I{1M5yWiXXC$NjW2L>sK*HHwU7c zYa&_|%ezhxUY^#k{v?-2@FSGOcb)^7$HZ}^!AMTnQ|(-EMY6ZoY!sp4AflP3Z9%i%Us&L)zq6=?d~38RqQ>bQ>!YjEYSjB zu4z=!#nGi--$>38^Y_ehS+*S>AT!QWmwxhQK70H50d7iWaFfWD@1Z|wE`6`j`L@Wc zLa5~;ReL{u5r0uTtK5OZIljYUz+_TOU& zxu>4AR9%rG2SCV;{?op4`+y)~X?(lW9^^*Xa7@>fDkz^&!Lcp=s%o z?GQ0Wg}$^@>dn|hwM#)&k!d9N`wHD}#Txz1R$qN?wNdQtiDuut$9F6N%+#MR#n(Sc z91&Su3ix9HI6)m{3Y^E%G_)Wp$~(Wo_kFSU9e~%99H*Ph3V$(7L$2K;MBbHHd~QX2aLbzA=Q)-h z16lu82VKL5b=4pX76Ft#qrMGq!|Q}etxtwmhN?0bJ^_g1U#NZls81Pk2@B>;2 z&J~*Xek!M_YVOsFXXxPayLY~#ZxMIjdx5+{{dp?MS<)o*;zP5_QU%z=FBQDaBde{V zfv&3fX1!dq;jM?Tb0YT;RiLe;WQ%POkMNna)n?-pqq0tmfxbFJwJ(%u2S`cIS&HcT%fzlM|5t4kQL#eSU#S!Io1MMJ?72fQUVtc7> z8^RaFCQA|-k$hQQS(JB5!9IbiAuct2-Z^#Ys5lBE-O_V5-ZoaY()O4+w&q>40pxS~ zcyr~#p)0dOgC-~?VLLBbhstf%NtNN04Cq8c=0(UOyWQ1?+@ES7e=bA2OVXa)n3~z8GwNo zArC+lH6{@$ofm24#iVLr!kO9S+EzLZ@KcP}ej|WId%(HBu0T4Z92i(Qt|iXX0u`COPH6F*-#;mME+ooYm~9FD$iA9D*5qW8iKQHhaK@nV;!_*O2~CDx`5m$Xoamv{ zR=hy`fLzT6_>gz;b9#k}&2+W-x`kJYhWgQTPi8{lR1zYm~J>4y)w@!+f zy3o_FD~)i67cotaZ!|}6D{V!dNYF^oCD#!ILEV?KzzgGcprya^+6jEsijfcht+Q)4 zhT=Je1^Rv^8VDsI*JG2t~Uv6~tVtMWfz3%U1}whSmI{A+c558H(}WplQD4cSSvz z;$ylIuBdrsA3i_leEhPVH9%{G!tk7nT*V>1cEAT^4_+Z|jAJY*&U$IK#{0I(m0Wb& zRcaPH?DcTIEYl>ORD2|ZjUtpRON<^hbRr3}SLnE~w^H>bkrIRmOQ|?COXGV4fzA>j zj^HCkzMl6%fuL>9@Os_*{v5LyTr+eXWkUQBrqUcQdX+wAT4f52%CX(~WD!`YXEq^q z%=kK^VJK&LU?f;rnH4ckjpH3Ga{bIL;QW;BjJ=Gd{wT`0lv$q~Ev?;+6D)NMni_)m zQ>E>Yd2~Xt&slpRw`7PdK_zd9kNdn|4qivHQM90y8mf>LZ5%Byc46P`QErX~FHbD> zJi3@&`iDFK>c6#0`ty499)CC|ts2Zz%P{0God7MsM9jUqVPsEZIvVh;f3B~*LOo#( zo&A~Qc4H}9?bHg}T^rRiQ3O+LN^*FU{;>Km&5r$+Jxq{dAh;YHl zrGRXq-$fQSU1U=(84}GEncH-@702JL!}7zf6=C15T}lMn$)oGM)Jd!UH>x$FmgKgS zS1rl<*dxtIchUsjHd#V1;-9s4W;9!6Z`i^u=8eq3Gm_lEbQ+Cj%ptoJXMX$~0f*c) zkpT@W^;%zZ6=+94v0&M8^~$T@wT}7dzJ zDsY;s!HVw%&tZ!A@@~kBmhx{FMEko$3yEA_Jty|i_qytZEWcW8hdSnh3;t|LP=fK% zqeAlz@3>!pTWsSi-?9oSMldSjQ7|geQJ@t>Vm30IxnTBbgA=z^3hEtIhujMFW{&p# z$IP>pBma~muQRU`NIo|-U&K)uX_xxbHw;#F>w8JnZi9?bAD1bqumaGd8JL-70JsX# zrY8oc`1u1}Q-!e7K)7hW3|}VE#QebPnIp1ejEQ(ZisSrFhT|6#Mui^NuQr}+y1@d6 z-rmr}C%7T_Qsq!JRF2>=v*JAy_22#M?#jKYRfM{yMzi>_hhnilUu|Bf)11%dD!^s! z4lViwYz`K~k3qg8HtAwSaqW7K+onZ8+LX+_C|PUE4oV@|fXSDkqbtCursJ)gR-j38 zO5gfgj8R;a8v8I0gP4kWYCF)Mdb+0Bx0yn_;UXzPn6}Ch=G{Rin#Q%Xf}!cqOg@#C zs#mR1RpPLyUk7dD(9W^ChA|M}t8j&uW-EwT;-$mHLCRku-<0~nXeIwFxx%HqGU%&e zaW7+K(6Bxx*RI^)E(GU{5}SdxsAIAE;bBI0wPfk3W5G=7E;)G8!cUbN-D`MsCThaJ zt}rcpb(s>)t4Jt3oMJHR8qslne7Ij!W57F)FA5Ah2uPv}EwT@}mN3D%Q*_vyuhjE@ z1WGhTILp}8<_#rGD>0O%Woj%YM%;kDEyc|ZZ@H}Fbd6?IM?E+SLq6`~wVggT+?F_- z-+g(ybHIQ-B*J&ccyw8-^1E^5hm!LTC?FsJjAr@|pb^$T5o`Vhy@T~TT+P2%i2h=F zi}?5*7q{Cnt>c?LdpiYfkm8$or2FhVcL*p-|8WSL-iZ2gA!(ID=Np__`93r2S& zm^C;GuD6iHS>&3d5?DH2G_R~pKEY@lD1|zJ)WrP!-_fvNj!V!GcyMZ(_hUE>hHnOII(<}i2lD!cV?2MP5TIm_ls<#pDY~tn$w34_->CEI5y``zb(2RG+w4TYJ1|K8OXCe z9ZjCR=Jvv85?YsMIHFcLU3#U?KgTgWHjMg*Cg!vt$Rb!mC#f&M-dnONbGreEK zsl=6BuB&C9_SX#b>xk$PfX>;^Ql2Eg!ZoLFPP1_@8@k)PKYf#aRnBvmk1+mb(=#uo z2|ed*c4hoiyQ>0UsHs1&9{xQ~Ophu<niX2J)=#;bE2bC210}>4U)u zsN{!Y=W-~Rc^)Y)=<`BnkOMLl#vs#=IXWz8MytszDU-tkg|n|zN)Fpx2O!p}hSq}6IIc4Rl$O{9g0g&X{cD-y>6b#h1E5kZ=d@%r!!b)*H9+3;i6trx`xXp=o@ z=(iK24?*L-;|1g8R(@0pI7A1zn@rtQB^V$afwe$s1MktoxYUoBK=Vwv?H8>Ge2c>K ze7Stpebk4?8cr&vCOgODa7Uj7@TBs6YeHs?(cNR)f|cCU9wHxlc{gz@xHDTa7E98k z7JR0$WHH^eA$DEPS_z9|a=^Ha%mX^Fd+742uY0*@XHe>r&#UUEHRii{+@K#rnLg95 z60VynNyTR8kMsiY9Qx$deK8wgM%v&`-BYwO;-{&VKLs&oPmMePd86Uvh*qesnstk( zGgA~kF1~MitiMmsU+tX`*lT9Wx_**%1P8+7eXVPz3g=3kcDN=JnAt&r#H^$k1dE0? z*Trxwbd0_ZyY6{X$0-_G2)9@HP=59?sYq%;8c;v8JoV~jR z>w5W=gKm#T|BDgGFSqQiulVw{hYu^Dy10*=Sw*zN-_*x0gq}cf^`_}DR>V)c?g7=D zh$KiqCaD~mYIUldlu|cei9c{Y*5Xhl3CC}V%#eo#)MLnFP~^sCeo?M34xiDg#GW;p zOD5psyd1gi+a%vy+RuNeyw^ThT6olaESHy*XKR1Yh&hINbcW(|4RNvT5kpmh9zGm= zM()yia<12%7(|#pfVAgFR-z8m>^CUT7)Sp~Eu<=jUMR4VvJN3P*uJ{Fa&CHmkKuy8 zcs{&w-{^f$ScY3Vq0lu4*JqDDk51l==`PK;Y_8X@v^tF5=1tt;wRtiMs`bsu&R!$C zp(}4OFLs8XOnru5!Td}{2?~Jgy6ie#HCkmvPzj28{<)k^PWfd$4ONUvEL-f5k`!`b z@i@=UDX4z`<(%#u-rRkiP@VSN*O_-0oUYOC)%QjhF`dEY=g?nnj|^zayBxgj3&>;f zuW3?(HAl)8+p)-XL5n1lfz6*~CNTF(hG*vJ7?gu+3q@ZcKUN#-NnTmUQL)r&mSk`p zFYYnw0!%~)GspIAfaTR2(v2$3c zxzH(H=z3M`)SA9QzJ(!uPI$-5a`RMsuwFs6QQ|&Dnf%~={$haB(CXZ@{xQ%1)tvY|2=o>-_C zLwOMWQ`?x`CWvlnzP4KVUqm(*Qq_HM%euKti53GHM|Q^D6+>$^Vw&h{Q}Gl~^W(-O ziez}g?wV<0bBec7SUchic-LR9O~+63t-7Ddm~)+6n7iO#_YT->vr#YkJXVkA)0DM% z&8tN=0ncsme4W-v1*M#V(=yM`T)W=YZDrHmZl1m>5~=xyY#)S`M@!8F1ET%@MEmUZTR@5i)T}^;j`k(qJqy{7x#QMR>pWXT{oNZ z6Ya$TYwac!wrml%&bno+y64(j#d4FYaZ`S-Bb2+lhs6!33*Pu@Y;E>!e)yw=)Yfi; zi=l@P3k|pn{fJmYzD0HQ za7WYXXBl3bE8ZW)#V2^iMtqmJzvA@@#Bjh@#GFh(CYdz8R)VWu+phHBa|vs z1ppE_Bp1PdEuhvPe`Q}yV)_!MdvE4*6r1j|E(Ww$QiNGa1Mgn*m?mz=Yrwv3TwPLw z9gXu6klYx(Ut?q#74oxqU^m`sHJ|BV+Hr&l4Y2UgpD3^0;VNxHw-1LyK9fBt%CM*^ zAOe_yN`w5f1nlB_`%6GY8o=OS>c~W2Q!G=%u#vR49MuU*D;$|8PpJISr4#i+-}Vyd zJ;{a3JMz<|H(cnjqTaf2BKs^%S!@AHdJQQ0VxDdwI5EkTS2|mx(YaN;Zf@M1M!gff zG_#wPS70d?Jn~$F2qa8L)`PPFcB2C~H-L@UYIeLWoNhh2>h%HsHY&SOp*@GggYJl( z@uob_Mai~0*A|nETVSD=0-sGz?&1VnhJKK$!-U?kA+nL)o~gwnr3ow>8AQtNSH;u@ z1F(gJCf96H%Gm5pe;OG#!NVW@hOE=6r`!-KM#s*;9JLy3v4e{~+@o1W!ywV%m)n_y zlf)y7yV_DS%2`lt8rN7d!GIS+8%>03TS54`Rn4DD2ii7?L2lPBh)u>HHw|8hwi;%) za`sC>SofRth-Q6Ph4UsPo(CG8`_OO?$Ho^Rl1k?{=}{&9ZvYJ=86RcY+<9$J^cw~C zCRF9F*auegv9RCmtmlm!j0!yCEfO-!|*MUnTu<(KfGgaZg+d_I~_ZJ}i1xbb;l@wO5RW5|tEzi>CI?|hCh5K1rB}y_gSu0+3`J8XObyM3B_2eZ&{^4t zv}JZVp(Kqn%*m2Ux=J=UMi5>9`L`>@TLN6X0-N}fnG^uAioa;L=HAToFm zc0)hzmSNLKt6O_xF`~hPgLE=bsuXixSFQ@#4n`$Xi%@<@3^?B=}j8*s5o6GXa@`RjgjU3W|y#@Y#PY!c(mZV@ox> zNhUcz(1Z?zKFC&<35KO>)}b+2@Buh63^HuPf6Jw6yIMuUVnn?BLUv}UqpH{^x*^GK zy)9lb8q5u&%Nd``P3cD04sEeRgk_S!jr8_(P@1|gKV@vqFJcy z=)Gwdc;h+`?QkC?IeY0r6X4vfZuAe#DEXL&K53C{Rmnkxzo@QdU zF6gj|q4HV{+HXUPgRr_;I$Y$88U;}Ur(0k`3R6+r%dr(L8ZL){C!KTcWrS)A(YvRJ zXx7ON`X!i^%0fhz3Jm6)H{0_pQ#m&k;s;Li0m(=VE@p2-4iH~!v=fLQnO)*mDmx>q zky?_LZnM3ZugxNNwe?4mc|tjF_W8M2XP9YJ0S5yk$CR*pKv%`pQ3Ee|SgJcAO0N8H z%ZniBlIAnK1@)Z-d;)JKQ5!V77|@p^389*L510)X?N!d^%dD=O+UwD7lwy_LRHMl^ zOqCjZis0DHG$5e_hco4=H7D1=a^WHeyd^|)KfT5-r6o>p%=U$?zQUz1j3k>+7iZGs zE=FU|K;6U}m$mq0a#L*gnb1#I1Gm*~Q`3P#g6i=w8?6A&byXLT8}AmN;AyZ>@M7(AXJm` zD^F=i3>$$}!BVK9MXVVk{%s*l)*$385PEb!74 zqRsS!&3#2hUi}keW3g#{pAGU~0zWsO!9idj1}P{eSWGB53D3+(P(67)FE|qtDRSGz z*!#o^A)wy%1hM~u2%FFQ!Ql8gFSUMkeAHJRgRLXD)ms*VF)lI`RAZD&Btm78Si)6? zF0eQI#WKq>9e*b17{?yc0RjaQqaSt>g2EFI#6yXJFkJWU zCvUV0#0=;stBYO@l8sO2;n+?3Ea4WPPE&ClD|J~vZ@KYPjiwu~=u^J<0w1HqO|MKc z4q2IH^yR9G5W6wtbt9U9KgzJV$(*T)hAY5N%*1SH`q%`axHeWu7B<$XBO+tOik(S%laTn zXB4kDo(`X+J-uf@f@Q(Gkf8yRcTO5A4O(;{>l zHpIm&W0EojDmP0@m`vW;6~B=fpiA0}J+rd;GF@dd6AQd1b((~4!L~vm5rbxcR0Qt` z1imLFq|LDqFCh>iLLo5e(_)OURPl$!ueBtp%;bj{#}L1)ysf(Hhl!mc3ulG8fO>Mn z3x6*#!1;ztzfWp;EY7Xn^PX3-3{u;eyaWVrq{IJ&mjN{lZwyypCrBr}_~zv;+$6-l zrx1iNosingxDzTlloOvU>g5!GMD|E_ANWb2#h%r)DCLX=)FaDyh_`evfC+&+pjD+)<~&{4Rn&b_Uf_HELXBV ziG`ms5^bh)e+2{cpgO1EbAM%Y)^E0E$CBn9?NEDOy?~Www&Kknx8Wvd%P^5L#$uEk zy|06lT13a)-eD0q(<5U5S55QHVySjvR)rCp7G_|s)DE49#m>}=py$ZOttLAcsfq#?bg05OV9aeI(4`z z^6glZGVvQKv)ImQiT=&ey2KVu7l7s4u9+=o!Y$VA?o9nibIcg%v#OmOW*GgfvlCoH z*;Lk)IF=IeFsjZST>{*=F^dy*JL-YD6i4|qVM6h5%4fQ+{jMUn*pFj2t7kL=(g!1p z?_p0hpf1v9Qq~~%C$a&W;`^`U7*B~tJaoBBTO*bR;$GCYWof}-^aQ(baFtLz(?_pM zAsj)$EFDi{q1*R>28VcRy|26=)JweZ#CDT!uHC}jhAr(0iRUMzNy;5OB_1|yX+_%c zB=&&;)Y^Q5eFxh$<~oy-20a^dr?o9XbHi@+DmerV5vk!M24sJ{YSMG1SXCYBMdq5{ z+Sk_AHq1Nbk=r_5HrF%PGb76B$E6vT8AclR+P_oBmKx=Nq^EareA`oIu|{N8bMk$Y z>lZNtE7YsY6HSxtPODwMyg*-?Dw2zp%w|(s zQ$|W>H5ZXOD$m%0xOn4c;~vl3_^tTMLhbp=+Bj7jjy5LqK#9vsUzbwn(7Vn_xi+tQ zUvE+8<`ELx)1gIw-&=Lz}lyi!|?WU4#n^56RCmF0@9!)jSo}GE7JELqgBh`&g0Y^>!hZ`XcUCvz|arp>u4`)s;(+F>(^Uh^$Ok(qmAQ zT9KXzlfYo6pH&veFy8BKsLBX5L=hLF{i3o~^Aby>Fr|fa70%tLRHcDRqSAZX9rZ#F z#V{q>o}ySi9z3UUykZAA%;Hi+Dgs5!Lanqs9&TFn9V!zr}HN<6rl7N{|!g?ME&}L3!W= zKe%4ZHjKc{H!@E>cUV1g*)bc$yS`-jxQ&|VWz5vE=JJV&prL8R_zZ*vI#8Jn0a#!%i`y$z71@J-I(yP|;;^6mv;7 zRGpQKmhdaTi7T4H)v+Liz|9WDUx18Xz#6Xt_#`b0(08JZ>tB(zg|_Wj84$64^Y~&F z&zOe>0c}N*L6kAd2k{ZsiTH@hQ?MR#3DN1vFgZn*Dh60dgfl=Q<4qK|6;_kk916wxQ~}oiAypuP2kftW=IbiWyq>4p-Xs#2CH0Mr zFDM%NEe=7>xo3C7(LQuZZKOOzlJlWYPw(y#K(?2Jk9`&mc*P%P9g45<;pry->ZlhY zh*)WEUpFcOhUk*@8z3TF&@3WdSQB_?<>Fx7K?MnMl1gZkfeUt59xvk6$5=Fw7|3QF zwr4Ut~3eUPx4P*~)M8SmTq> za?ea>r;;iWo9z;Ak-KwAWWCp|8C8Q@1Al(Ze}$tER4D)M9_n+d#pK^OegBO22FI`h z06%5;KSsnWD8CjKlcrTPd1qiNZQv+x`A)||RzXVfpZ-jdf0W_;!9fCMA^E}cpS+gf zczCea5<~)E0tc!yGl2^e{&1-=ireX!o9GEx7?~UVQEG!xz*g^j-3@k*Kiqsj!{eF% zh%ov^+q$dJ3x~qA7NMdJ zltLTbnTz#Q?J>V^2UlMqCjtbVT}<7s*j!R?+JW+OJoDv^RE^~G9tWHA)$_auPY*~B zm>dJRJ}rFRUw1G^vuq5X>ucqxaYUS3ZCKx$?9|}X*O=a|Cu)|mpToBzsoamBx>`hu z8UY6{I0cL#qc$IRX;dLodMv)(^RsJh*PnBJTwHuCS=zZ5${UwT5KYCgPdnogy<(`; zMmF8^&}|iE!zghKn1?%rUquO&8jX)38>I3M9 zt8Sya!!@$;rz9 zVy^8t^dbG0FK)!H7t@ABKiwK;;i_*Lu`YSqwUySKfw<3a3_jmzEC!ZdI-US`8t5V* zJsfGMzU?_$R#iASZSPKXo5?nzPN> z;n7rk@m35gEj@Ioo4=!k-+DO6bwu++W6tXoN`h?QT>_p>tVNeIL8~PSZ!C{A974Xb zmFa|2;=_|0^XqKd!*Bhr#3derPQh9mbJ4~!8`2}B5nNqxq40RnO(v{m@6)G4jJgR= zJh@33odtS;ddT#6v)KFbPm9MfzZzIERHqbUJ|j153RiP?NGFHzU)o{2);ZCDs>3}J zP%sX9C|~5e-8AqaoEnm>Hd@rTY3<0W5!#l09gZG0W-OuMYuH{Xh%L}Jvt|ypqR&nt zaiepHc)?sr1^ZrKz$hZUlGGTHqZe5ou{(qi*VVpBs6bxGIFQUR&gLA7cbktSh<46n z|E$*aHoU*v_>4rjce}+{xnjIgA}{Q#g~v3iD0L+9vP``bkvv-QUFtgkCHI^s6Uvo| z-SSN|H53NPi!elpbtR-_;6mt{1{6NhdGrC_T3;7`Eh4Hd9A{5$+79}7Nxa)i&BbX8 zu$m07=Ji$C^`11Snj5rI&C3^q9_^v$ptAWYQScbo{u&eMtM+ri532s#ZjRQKN_guSPzSsLmy!Y6@ zmYl#B$G`5%;cuQoxmj~M+?6k%2ld6dZLh3T>5{Dwx{2UDg(GAmVr;D;T4^7W*oJ9zkQA0ECv7w`A%U{`M-s zgqVk+%tAtILPucAx(vNvF$f$tDvT&7!Y|$14YbbLM6aBl-ynPREF_eO@9+^1@8CQB zIN{#3v{xQX!x?>^yDa03UdEpCRIB1kJHQA&SPK^kZH~>jdMJ>7Og9IwQ?Mi@LYF0; zk-|(&iA}GD&CdM|s3CTGS=KTY`GE3b{H;51nmE$?9)@OG#V44T#ZAdEQM5g>l44LS zA=^dX=OQ^ggrKK4a1(P#br_$prMhrWuGu_6Bs=H{hPYHmg5b6S76s+ihPyap)M5zR zq3~q#W$YdGbw3cZgF-!Y>a<{UjMdcVq^-uCDC~pU@aN@#BQ%qW01DGU-4~f()g+kW zd6Z0pwx1PK(uyhDvA;Wy&Dd!owZd`iRxpMvd>#RieAo}MvF=V7qNMlmOhdwoE?A8FZM>t|EIJmz(Fyq0biuKdFD4x-829K7ptezv8&PX&?G!%*+4lFW?fu<=r zs~u5y164jR6OD}5pYd&3Mvqi4W=~?jb=BFaF(fFed^(u$)Ml*W7DGTdiQ^psXL|%o z?(%pQaiI4;CUI$*1nLW=NjkPuNnGZpcweQC-Lt4tX0Ps78|;Li-fr@f)6#(vAH?>P z$xEG+CIRLKQo0{9&_v}qGHi^UMqpgwEUT-E*J!R^1v5Os`+&l_iEW!DjQ#TZW`pDr zX0X~l_xHQmANMJLhTSm(+5S`sKz|d$2>KsF7$XNPe3+gIUp@q>0B%CT;0 z!3&(?Z|~wCU5Hw#<&P>#(KZ*Qf@Kkc!tENmE7}kG=#1Q+LCChi__Q}6?zKrnOLk7& z5~qv^QwvXdwbQ)01l&wni%{DfwXto_cfU*Tcpykm7L9P$ww7>VZn%-t!&!jweK~+K z&SDRhdhMvpN??ZL9BkG~| zhWyy;n%`2~LozD;Jnk$G{4&&i|MHdiSJ4f(>1eE%N6JrQC4h~Wvf4so`vX1$?%82# z{+Ba1pA{4zJRm7*qNV?4MZQb<&lTbLXCNf#e+-0_RZ~-tm8BKZF|o1y9>GTsqW`0; z9k^zkkuAw@Wek}}=$TnbIG9;T*ueM6|3PN}v;4Th{-@6HkDB*CRfaz~{vta3e{uuZzVD&$PYyP))PVr7PcUZwp#qUG|IoTf!1Dns zU;o%xLYDSm%@g=t<@ra*H0Wnk=Z`*wYz%b3Y2+l-DwgJkHahP}q;%|z4c_V4nds?& zduCu_0KZ5K!5mU1dN!7}mWFmD;B;qwOGjH0Y7h&(u8AED3AKWO6}U#FF1S=8fSC@g z5;KEn{?MOgZ7lWe^}uxMKR*8$&cxE<6}X-v2{nKTz{JGP#L5g}1p!!SnE+HwOn>l6 zS?d2^EdO#mzenl{>3~&mOQRo$_d{4Df9Qxm8#&n+7$ShzmkojGpAQlcD=Uzd#E|3< z8XFME3f4crKS(V8L1O|}d;E>Y1g8GZ_r3h&U)nOWfS7)z0YS{)PszXVu`mHxz?X!- z&{)~nzDMW&g~r6p0nW_-D-B#E_j`2rFMMq5;KTnb4FKf$bzCM8D;xON;1@m?=HL1Q zi|Ndme?XNU8z;84TaEHJ0aR9!T$^C18 z9IU_XHSjg)x4j0&|4_AhPO006dM$7KTmnSSR3{U$%~jG2D@ePIK#0DtQb2>K4n z@#na9HaaHe1~xw~O$sJ12LErM@)UI5Ku~^ui2^79p<{rctBZl9E0_=7ev?>K0xp5g Pje(^Em#V6(zZ(|-y16f$ diff --git a/devPneumatic/PneumaticRestrictor.svg b/devPneumatic/PneumaticRestrictor.svg deleted file mode 100644 index df2f6ae..0000000 --- a/devPneumatic/PneumaticRestrictor.svg +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticRestrictor.xml b/devPneumatic/PneumaticRestrictor.xml deleted file mode 100644 index b814392..0000000 --- a/devPneumatic/PneumaticRestrictor.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - Pnenumatic Restrictor. - PneumaticRestrictor.pdf - PneumaticRestrictor.nb - - - - - - - - - diff --git a/devPneumatic/PneumaticSourceM.hpp b/devPneumatic/PneumaticSourceM.hpp deleted file mode 100644 index 9d28372..0000000 --- a/devPneumatic/PneumaticSourceM.hpp +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef PNEUMATICPSOURCEM_HPP_INCLUDED -#define PNEUMATICPSOURCEM_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPsourceM.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 11 Aug 2020 11:21:36 -//! @brief Pressure source -//! @ingroup PneumaticComponents -//! - -using namespace hopsan; - - class PneumaticPsourceM : public ComponentC - { - - private: - double mPh; - double R,cv,pin,Tin,ZcE; - Port *mpP1; - size_t mNumPorts; - std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; - double *mpR, *mpcv,*mpTin,*mppin; - - public: - static Component *Creator() - { - return new PneumaticPsourceM(); - } - - void configure() - { - //Add ports to the component - mpP1 = addPowerMultiPort("P1", "NodePneumatic"); - - //Add inputParammeters to the component - addInputVariable("pin","Pressure","Pa",100000.,&mppin); - addInputVariable("Tin","Input temperature","K",293.,&mpTin); - - setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); - setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); - setDefaultStartValue(mpP1, NodePneumatic::TEMPERATURE, 297.); - setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); - - //Add outputVariables to the component - } - - - void initialize() - { -// - //Read inputParameters from nodes - pin = (*mppin); - Tin = (*mpTin); - //Read outputVariables from nodes - - mNumPorts = mpP1->getNumPorts(); - mvpP1_p.resize(mNumPorts); - mvpP1_qm.resize(mNumPorts); - mvpP1_T.resize(mNumPorts); - mvpP1_dE.resize(mNumPorts); - mvpP1_c.resize(mNumPorts); - mvpP1_Zc.resize(mNumPorts); - - - //InitialExpressions - ZcE = 0.; - - for (size_t i=0; i -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticPsourceM.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 11 Aug 2020 11:21:36 -//! @brief Pressure source -//! @ingroup PneumaticComponents -//! - -using namespace hopsan; - - class PneumaticPsourceM : public ComponentC - { - - private: - double mPh; - double R,cv,pin,Tin,ZcE; - Port *mpP1; - size_t mNumPorts; - std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; - double *mpR, *mpcv,*mpTin,*mppin; - - public: - static Component *Creator() - { - return new PneumaticPsourceM(); - } - - void configure() - { - //Add ports to the component - mpP1 = addPowerMultiPort("P1", "NodePneumatic"); - - //Add inputParammeters to the component - addInputVariable("pin","Pressure","Pa",100000.,&mppin); - addInputVariable("Tin","Input temperature","K",293.,&mpTin); - - setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); - setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); - setDefaultStartValue(mpP1, NodePneumatic::TEMPERATURE, 297.); - setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); - - //Add outputVariables to the component - } - - - void initialize() - { -// - //Read inputParameters from nodes - pin = (*mppin); - Tin = (*mpTin); - //Read outputVariables from nodes - - mNumPorts = mpP1->getNumPorts(); - mvpP1_p.resize(mNumPorts); - mvpP1_qm.resize(mNumPorts); - mvpP1_T.resize(mNumPorts); - mvpP1_dE.resize(mNumPorts); - mvpP1_c.resize(mNumPorts); - mvpP1_Zc.resize(mNumPorts); - - - //InitialExpressions - ZcE = 0.; - - for (size_t i=0; i -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve22.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:50:43 -//! @brief Pneumatic 22-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve22.nb*/ - -using namespace hopsan; - -class PneumaticValve22 : public ComponentQ -{ -private: - double Bf; - double Cf; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[7]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qmP; - double qmN; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqmP; - double *mpqmN; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve22(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(7,7); - systemEquations.create(7); - delayedPart.create(8,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qmP=stateVark[0]; - qmN=stateVark[1]; - qm2=stateVark[2]; - dE1=stateVark[3]; - dE2=stateVark[4]; - p1=stateVark[5]; - p2=stateVark[6]; - //Expressions - qm1 = -qm2; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //outputVariables - (*mpqmP)=qmP; - (*mpqmN)=qmN; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE22_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve22.nb b/devPneumatic/PneumaticValve22.nb deleted file mode 100644 index 88a21e6..0000000 --- a/devPneumatic/PneumaticValve22.nb +++ /dev/null @@ -1,993 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 48103, 985] -NotebookOptionsPosition[ 45157, 896] -NotebookOutlinePosition[ 45840, 919] -CellTagsIndexPosition[ 45797, 916] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve22", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, - 3.8036340541474895`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9, 3.8050176650180016`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}, 3.8050176672355585`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, 3.805022093004465*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "50", ",", - "42.0976644`9.37683287622728"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, 3.805022093004465*^9, - 3.8051072285590453`*^9, 3.80510730546095*^9, 3.805107459782553*^9, - 3.8051078642885723`*^9, 3.8056241785062594`*^9, 3.805624242173586*^9}, - ExpressionUUID -> "9c2a00c1-c4de-4431-8c38-1b9eb4ff839b"], - -Cell[BoxData[ - RowBox[{"eps", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, - 3.805022093004465*^9}, - ExpressionUUID -> "a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], - -Cell["\<\ -This is a simple pneumatic valve with two ports and two positions. It is \ -closed when the input signal is zero and open when it is one. The opening is \ -proportional to the input signal. There is no valve dynamics. \ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050228848734484`*^9, - 3.8050229142901974`*^9}},ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-\ -e907612579a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002hT0@0006`0000000008P0002D300250P00 -oOoooogooomA3@00f@/00215CDH0004092h003H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0H00>P60015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000819A010P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -000000000030lIE900000<3aUDV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000@oBDA1E7RLkI_O -:kAI0>2o?nMBY>LllcoMlVnOK>JLcil37hRlPX8[@lV]DB:m0;[l0Ol/fl@WaAL]f408o -0>CWia<818@EVle6Kfn_DS -k>g]hGJkBDY:TVe72Y[^2@h>3SPl?2@Q8H75aDGIMZBQjA1H;1IRHV;`N3aIZj/[ -06IWIbFkTHMVN`:?al?jnWZ`OW=c`mKFUTA7l]1/2:aF:gZm?USgnogOiSh^;HfUYRKZj>PV^kW4jWOCg -mcnk_[no3l30`01cLg?1jiVIVKBf]XKEYRI3<3GUiL7?kNg]05AEEI6CTb?9dEOBdm?Yj>QhecHe>C5D?4F5@:52X50QD70o<1P<92LW2m7dnG`h70jLCZL@?LEG7XH3MWIfQ8Uf -MWKBeME5KFd]Ph>3@S@g=SHX:2P@XZEhR_29HB0@22i]=SLgRiIGA03Q8EQMGFEWIhNRh/;2P/;bL_;4bV]R212odEl?1@X -_Yg9bLUW^iiN8cXjV_[jn[3J4aH2Ul^5eFY5Ym?Af=PXBUJC=3@d_?UN_EkooHC0K3KSloVX[Zk6J3B: -T]DT;hEPJFV9/kcZJ/[4b49lDk -4gH87Tl8Gc[@XOSn2N^]NKgNh;Un]DclL@T[1=?CdeaNGU9LG8c9I1;UBO7>Q1D2]CK`>@P^5Zf][HGd -h?Wi>@/;2nQd>T`VDlS?Qh[MKPOPk^i>J5/nW`n0cLe=G2jG44f7``70lO6a<:lNS`N0kNe]h^?SQFPn -40Fh0;T7l1@b>Hl2bX4oIC]i8cl2o`4nPIYI@2c`3o3jbLo@n8Wk;O;7P4>@YQ680oh5[PEY0_cf?lJj -QJN79C4S000004U5CTB^@V220008@088900001P000024<3K0@0000<00000000000000000000K@050 -=00002P0000200000P0000000;l0002o0001@`00<483000000000840000002`08@0000P0001R0000 -30000040000Q0000200001h0000H000000000D5060@00D@000?0300000000b@0002D3003K0@0000000h09P<001<1000X0000P@0002`000010040 -0000000000000000000000000000000000000?ooo`1EEEEEEEEEEEEEEeEEMEEE00000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP00007oooooooooo -oooooooooon0000028R8R8Rooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP000000000003ooo -oooooooooon00000D@000;`H00000000b@0002D3003K0@0000000`33`l<0O7al03De=@0S8b<0 -0`<30?;blP3Rh^8020P800d=3@2_[jl0Ti>C00/;2`010@40GEeM03Ti>@0@4100lo?c00L71`3Cdm<0 -Zj^[00h>3P28R8P0E5AD038bOWi`1gMgL071`L05]KF`1cLg<0 -0P82061PH03AdM40=SHf0<30`02ZZZX05ADE09FEU@2l_;`0jNWY07]kN`2DU9@07alO0=oOg`0Q8B40 -8R8R01dM7@0A4A402@T907inOP1OGel0clo?0?knoP0K6a/0IVIV07QhN03gmoL0CP2@T900 -[:b/0>c/k00410@0TY:B04];B`1EEED051@D0451@@1JFUX0Z:RX0=WIf@3emOD0NWYj06=SH`2o_kl0 -oOgm069RHP3GemL0YjNW03Lg=`1:BTX0cCTi>CTi>CTi>CTi>CTi>CTj33/i>CTi>CTi>CTi>CTi>CTi>CTW03`10@410@41 -0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 -0@410@410@410@410@41000000010000000000000000000000000000000000000000000000000000 -000003P10@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 -0@410@410@410@410@410@410@410@410@41000000010@4100410@010@400@4100410@010@400@41 -00410@010@400@41004000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 -0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@41 -0@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@41 -=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 -0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 -0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 -0@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 -0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@41;Rl_<00a;c810@410@41 -0@410@410@411@060@410@410@410@413a0A0@410@410@410@410@410@411@06 -0@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@412``=0@410@410@41 -0@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41 -2@X10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 -0@410@410@410@410`@10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@41 -0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000160000500000P0001DCU1@ -1`400280000<0000ooooob80000<0000ooooodH0002d0@00Z04004E=AR/Z@000900001P0002`0R`j -00000000002`0R`j00000000BDP0000000000/08/>P00000004U38D0700`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00000004U3:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 -000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 -900001P00000080o000000000000080oSLHOA=G?6D@4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000002H3003=0P0000000000000V0`00 -c@8002@0000T00000020?`00000000000020?hg67dCEcaU40P0000`0000@000000000000000:0000 -4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 -HP1b06T0000000000000000PH40000000016@5o@5o@5VL900000000000000000000000000000000W -8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f -9`0002L002LHIM/8000002400024fdl000000=@00015CDH[:T0002@0000H00000020?`00000000000020?hg67dCEcaU4 -:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 -0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 -30000000000Q@0L030000000000Z@000900001P00000080o000000000000080oSLHOA:j144<4@000 -30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 -000002H3003=0P0000000000000V0`00c@8002@0000T00000020?`00000000000020?hg67dB^PA13 -0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 -000009010000000010048T<0H@1/06T0HP1b06T0000000000000000PH40000000016@5o@5o@5VL90 -0000000000000000000000000000000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 -W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl000000=000050000000000@00005000 -\>"], "Graphics", - ImageSize->{182.3333333333334, 162.54521963824288`}, - ImageMargins->{{85.55555555555556, 0.}, {0., - 0.}},ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, - 3.8049202878021173`*^9, {3.8051026419347734`*^9, 3.8051027813361006`*^9}, { - 3.8051065325066023`*^9, 3.8051065510516195`*^9}, {3.805107393878266*^9, - 3.805107447216238*^9}, {3.8056241355295897`*^9, 3.8056241368901863`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, - 3.805022852714327*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The input signal is limited between 0 and 1.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, - 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Cfe", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{"xin", ",", "0", ",", "1"}], "]"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.8049253628774543`*^9, 3.804925377947908*^9}, { - 3.8051070382200217`*^9, 3.805107097045391*^9}}, - ExpressionUUID -> "55646062-94a5-41cc-849f-bcc54828c5f4"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", " ", "=", " ", - RowBox[{"-", "qm2"}]}], ";"}]], "Input", - CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, - 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, - 3.8048706405459685`*^9}, - ExpressionUUID -> "d976e54a-4170-4f37-bfba-e3f490adac4e"], - -Cell[BoxData[ - RowBox[{"NgPos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}}, - ExpressionUUID -> "69eb25fb-64a8-481b-be69-3cbd617e7f33"], - -Cell[BoxData[ - RowBox[{"NgNeg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}}, - ExpressionUUID -> "6ce8645e-54fb-4320-a9d4-24caa7bf0e37"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}], "NgPos"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf"}], "]"}]}], " ", ")"}]}], "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}], "NgNeg"}], " ", "+", - " ", - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf"}], "]"}]}], " ", ")"}]}]}]}], - ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, - 3.804870602056671*^9}, {3.8048706441562443`*^9, 3.80487064684647*^9}, { - 3.8051023539673*^9, 3.8051023604766397`*^9}, {3.805107841185725*^9, - 3.8051078460746803`*^9}, {3.805624163019234*^9, 3.8056241643478637`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell["Expressions that are evaluated before the system equations", "Text", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { - 3.80502217704597*^9, - 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, 3.805100959117752*^9, { - 3.80510252986307*^9, 3.8051025384280434`*^9}, {3.805102597251624*^9, - 3.8051025994018755`*^9}, {3.805106581676327*^9, 3.805106612621895*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { - 3.805022272779731*^9, - 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ -3c55a8691acc"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmP", "==", - RowBox[{"Cfe", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qmN", "==", - RowBox[{"Cfe", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm2", "==", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1e", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], - ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, - 3.804870608550976*^9}, {3.8048706479862947`*^9, 3.8048706539751167`*^9}, { - 3.8051018590919285`*^9, 3.805101871172864*^9}, {3.8051025029496346`*^9, - 3.8051025710403767`*^9}, 3.8051029080936794`*^9, 3.805102965743308*^9, { - 3.805107119679675*^9, 3.805107124187194*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.805017881102742*^9, - 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, - 3.8048706590878425`*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", - "p2"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, - 3.804870662382444*^9}}, - ExpressionUUID -> "45defc9d-8919-4035-bddf-612495a3adc0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"qm1", "==", - RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{3.804870613309064*^9, 3.8048706633414555`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { - 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, - 3.626788084646427*^9}, - ExpressionUUID -> "dd6ace65-5d77-4186-8ecc-49603183992f"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve22\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve22\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve22.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve22.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\\\"}]}], \\\"]\\\"}]}], \ -\\\"}\\\"}]}], \\\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\ -\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \ -\\\"]\\\"}]\\) is not a list of contents. The third item in an XMLElement \ -must be a list of contents, even if it is an empty list.\"",2,173,33, - 16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242440076933`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,173,34,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.805624244040661*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,173,35, - 16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242441375604`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,173,36,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.805624244163533*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,173,37, - 16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242441895065`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,173,38,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.80562424421548*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,173,39,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242442424517`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,173,40,16369105449659597481, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242442694244`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,173,41,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8051072321801414`*^9, 3.805107319981933*^9, - 3.805107470852316*^9, 3.8051078696758156`*^9, 3.8056241800816345`*^9, - 3.8056242442963963`*^9}, - ExpressionUUID -> "651bf1a4-938b-4da5-bad3-072ea48e1f95"] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{974, 846}, -WindowMargins->{{Automatic, 351}, {-38, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.2 Inherited, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "bcfbf610-8227-47f4-be14-4caaccf4f9b9" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 232, 4, 84, "Section"], -Cell[814, 28, 355, 6, 37, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1172, 36, 533, 12, 62, "Input"], -Cell[1708, 50, 814, 15, 62, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2547, 69, 1463, 32, 230, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4013, 103, 1368, 21, 37, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[5384, 126, 255, 5, 37, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[5676, 136, 98, 0, 58, "Subsection"], -Cell[5777, 138, 423, 8, 58, "Text"], -Cell[6203, 148, 16210, 202, 205, "Graphics"], -Cell[22416, 352, 2085, 45, 243, "Input"], -Cell[24504, 399, 569, 12, 86, "Input"], -Cell[25076, 413, 721, 17, 110, "Input"], -Cell[25800, 432, 935, 18, 110, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[26772, 455, 145, 2, 58, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[26920, 459, 236, 4, 35, "Text"], -Cell[27159, 465, 344, 8, 37, "Input"], -Cell[27506, 475, 214, 5, 35, "Text"], -Cell[27723, 482, 315, 7, 37, "Input"], -Cell[28041, 491, 1034, 23, 89, "Input"], -Cell[29078, 516, 981, 22, 89, "Input"], -Cell[30062, 540, 1615, 41, 109, "Input"], -Cell[31680, 583, 252, 4, 35, "Text"], -Cell[31935, 589, 793, 15, 86, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[32765, 609, 224, 4, 58, "Subsection"], -Cell[32992, 615, 3111, 64, 271, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[36140, 684, 160, 3, 58, "Subsection"], -Cell[36303, 689, 816, 19, 110, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[37156, 713, 174, 3, 58, "Subsection"], -Cell[37333, 718, 592, 12, 37, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[37962, 735, 88, 0, 58, "Subsection"], -Cell[38053, 737, 146, 2, 35, "Text"], -Cell[38202, 741, 333, 7, 86, "Input"], -Cell[38538, 750, 255, 4, 37, "Input"], -Cell[CellGroupData[{ -Cell[38818, 758, 122, 2, 37, "Input"], -Cell[38943, 762, 1892, 30, 71, "Message"], -Cell[40838, 794, 452, 9, 26, "Message"], -Cell[41293, 805, 626, 12, 49, "Message"], -Cell[41922, 819, 452, 9, 26, "Message"], -Cell[42377, 830, 626, 12, 49, "Message"], -Cell[43006, 844, 451, 9, 26, "Message"], -Cell[43460, 855, 526, 10, 26, "Message"], -Cell[43989, 867, 596, 12, 26, "Message"], -Cell[44588, 881, 529, 10, 26, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve22.pdf b/devPneumatic/PneumaticValve22.pdf deleted file mode 100644 index 08dc9d17fbb3cdc99c7d867f728be77f680edec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55164 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%0AbtSDt=jURD}x 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 a{B3QcWo2_Sd$WSTY;4HX)WR|%$p0To&1CWb diff --git a/devPneumatic/PneumaticValve22.svg b/devPneumatic/PneumaticValve22.svg deleted file mode 100644 index 1f3005f..0000000 --- a/devPneumatic/PneumaticValve22.svg +++ /dev/null @@ -1,1394 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve22.xml b/devPneumatic/PneumaticValve22.xml deleted file mode 100644 index c8cce9d..0000000 --- a/devPneumatic/PneumaticValve22.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - Pnenumatic Valve22. - PneumaticValve22.nb - - - - - - - - - diff --git a/devPneumatic/PneumaticValve22G.nb b/devPneumatic/PneumaticValve22G.nb deleted file mode 100644 index 987e4a9..0000000 --- a/devPneumatic/PneumaticValve22G.nb +++ /dev/null @@ -1,894 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 43669, 886] -NotebookOptionsPosition[ 39112, 807] -NotebookOutlinePosition[ 39790, 830] -CellTagsIndexPosition[ 39747, 827] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve22", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, - 3.8036340541474895`*^9}},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9},ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-\ -b4719622a54d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049349854692307`*^9, - 3.8050176650180016`*^9},ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-\ -709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, { - 3.8049349812375946`*^9, 3.804934981752065*^9}, - 3.8050176672355585`*^9},ExpressionUUID->"b1a17ebe-ca25-48b4-8480-\ -1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, - 3.805022093004465*^9},ExpressionUUID->"f1d28f9a-2912-4dec-a44b-\ -799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "7", ",", "28", ",", "12", ",", "20", ",", - "6.4007831`8.55880808352921"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.8042428347360086`*^9, 3.8042428756538005`*^9, - 3.8044068065732937`*^9, 3.804406886243649*^9, 3.804870692054841*^9, - 3.804870815676323*^9, 3.804920406433749*^9, - 3.805022093004465*^9},ExpressionUUID->"aa6f4f45-bf37-4268-85ba-\ -d1117d8dded6"], - -Cell[BoxData[ - RowBox[{"eps", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, - 3.805022093004465*^9},ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-\ -ef462f51bbf0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], - -Cell["\<\ -This is a simple pneumatic valve with two ports and two positions. It is \ -closed when the input signal is zero and open when it is one. The opening is \ -proportional to the input signal. There is no valve dynamics. \ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050228848734484`*^9, - 3.8050229142901974`*^9}},ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-\ -e907612579a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002hT0@0006`0000000008P0002D300250P00 -oOoooogooomA3@00f@/00215CDH0004092h003H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0H00>P60015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000819A010P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -000000000030lIE900000<3aUDV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000@oBDA1E7RLkI_O -:kAI0>2o?nMBY>LllcoMlVnOK>JLcil37hRlPX8[@lV]DB:m0;[l0Ol/fl@WaAL]f408o -0>CWia<818@EVle6Kfn_DS -k>g]hGJkBDY:TVe72Y[^2@h>3SPl?2@Q8H75aDGIMZBQjA1H;1IRHV;`N3aIZj/[ -06IWIbFkTHMVN`:?al?jnWZ`OW=c`mKFUTA7l]1/2:aF:gZm?USgnogOiSh^;HfUYRKZj>PV^kW4jWOCg -mcnk_[no3l30`01cLg?1jiVIVKBf]XKEYRI3<3GUiL7?kNg]05AEEI6CTb?9dEOBdm?Yj>QhecHe>C5D?4F5@:52X50QD70o<1P<92LW2m7dnG`h70jLCZL@?LEG7XH3MWIfQ8Uf -MWKBeME5KFd]Ph>3@S@g=SHX:2P@XZEhR_29HB0@22i]=SLgRiIGA03Q8EQMGFEWIhNRh/;2P/;bL_;4bV]R212odEl?1@X -_Yg9bLUW^iiN8cXjV_[jn[3J4aH2Ul^5eFY5Ym?Af=PXBUJC=3@d_?UN_EkooHC0K3KSloVX[Zk6J3B: -T]DT;hEPJFV9/kcZJ/[4b49lDk -4gH87Tl8Gc[@XOSn2N^]NKgNh;Un]DclL@T[1=?CdeaNGU9LG8c9I1;UBO7>Q1D2]CK`>@P^5Zf][HGd -h?Wi>@/;2nQd>T`VDlS?Qh[MKPOPk^i>J5/nW`n0cLe=G2jG44f7``70lO6a<:lNS`N0kNe]h^?SQFPn -40Fh0;T7l1@b>Hl2bX4oIC]i8cl2o`4nPIYI@2c`3o3jbLo@n8Wk;O;7P4>@YQ680oh5[PEY0_cf?lJj -QJN79C4S000004U5CTB^@V220008@088900001P000024<3K0@0000<00000000000000000000K@050 -=00002P0000200000P0000000;l0002o0001@`00<483000000000840000002`08@0000P0001R0000 -30000040000Q0000200001h0000H000000000D5060@00D@000?0300000000b@0002D3003K0@0000000h09P<001<1000X0000P@0002`000010040 -0000000000000000000000000000000000000?ooo`1EEEEEEEEEEEEEEeEEMEEE00000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP0000?oooooooooo -oooooooooon00000oooooooooooooooooooooh00003oooooooooooooooooooooP00007oooooooooo -oooooooooon0000028R8R8Rooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP00000000000?ooo -oooooooooon000000000000Ooooooooooooooh000000000003ooooooooooooooP000000000007ooo -oooooooooon000000000000ooooooooooooooh000000000001ooooooooooooooP000000000003ooo -oooooooooon00000D@000;`H00000000b@0002D3003K0@0000000`33`l<0O7al03De=@0S8b<0 -0`<30?;blP3Rh^8020P800d=3@2_[jl0Ti>C00/;2`010@40GEeM03Ti>@0@4100lo?c00L71`3Cdm<0 -Zj^[00h>3P28R8P0E5AD038bOWi`1gMgL071`L05]KF`1cLg<0 -0P82061PH03AdM40=SHf0<30`02ZZZX05ADE09FEU@2l_;`0jNWY07]kN`2DU9@07alO0=oOg`0Q8B40 -8R8R01dM7@0A4A402@T907inOP1OGel0clo?0?knoP0K6a/0IVIV07QhN03gmoL0CP2@T900 -[:b/0>c/k00410@0TY:B04];B`1EEED051@D0451@@1JFUX0Z:RX0=WIf@3emOD0NWYj06=SH`2o_kl0 -oOgm069RHP3GemL0YjNW03Lg=`1:BTX0cCTi>CTi>CTi>CTi>CTi>CTj33/i>CTi>CTi>CTi>CTi>CTi>CTW03`10@410@41 -0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 -0@410@410@410@410@41000000010000000000000000000000000000000000000000000000000000 -000003P10@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 -0@410@410@410@410@410@410@410@410@41000000010@4100410@010@400@4100410@010@400@41 -00410@010@400@41004000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 -0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@41 -0@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@41 -=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 -0@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@410@410@410@410@41 -0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4000810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@060@410@410@410@41 -0@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4100810@410@410@410@410@410@41=P0g0@410@410@410@410@410@411@06 -0@410@410@410@410@410@410@410@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@41;Rl_<00a;c810@410@41 -0@410@410@411@060@410@410@410@413a0A0@410@410@410@410@410@411@06 -0@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410@410@410@410@412``=0@410@410@41 -0@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@410@410@410@41 -2@X10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@410@410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 -0@410@410@410@410`@10@410@410@410@410@410@411@060@410@410@410@410@410@411`080@41 -0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@410000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000160000500000P0001DCU1@ -1`400280000<0000ooooob80000<0000ooooodH0002d0@00Z04004E=AR/Z@000900001P0002`0R`j -00000000002`0R`j00000000BDP0000000000/08/>P00000004U38D0700`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00000004U3:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 -000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 -900001P00000080o000000000000080oSLHOA=G?6D@4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000002H3003=0P0000000000000V0`00 -c@8002@0000T00000020?`00000000000020?hg67dCEcaU40P0000`0000@000000000000000:0000 -4000000000000000DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0 -HP1b06T0000000000000000PH40000000016@5o@5o@5VL900000000000000000000000000000000W -8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f -9`0002L002LHIM/8000002400024fdl000000=@00015CDH[:T0002@0000H00000020?`00000000000020?hg67dCEcaU4 -:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 -0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 -30000000000Q@0L030000000000Z@000900001P00000080o000000000000080oSLHOA:j144<4@000 -30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 -000002H3003=0P0000000000000V0`00c@8002@0000T00000020?`00000000000020?hg67dB^PA13 -0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 -000009010000000010048T<0H@1/06T0HP1b06T0000000000000000PH40000000016@5o@5o@5VL90 -0000000000000000000000000000000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 -W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl000000=000050000000000@00005000 -\>"], "Graphics", - ImageSize->{182.3333333333334, 162.54521963824288`}, - ImageMargins->{{85.55555555555556, 0.}, {0., - 0.}},ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A0max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, - 3.8049202878021173`*^9},ExpressionUUID->"303be765-e9fc-44f7-94b5-\ -8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, - 3.803634155729506*^9}},ExpressionUUID->"b285c72f-9e43-46ac-b84f-\ -0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qmP", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qmN", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}},ExpressionUUID->"1547f96f-2227-4719-9bd2-\ -75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, { - 3.804870580037386*^9, 3.8048705810893*^9}, {3.8050228255901237`*^9, - 3.805022852714327*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ -4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The input signal is limited between 0 and 1.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, - 3.80492543148868*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"A0", "=", - RowBox[{"A0max", " ", - RowBox[{"limit", "[", - RowBox[{"xin", ",", "0", ",", "1"}], "]"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.8049253628774543`*^9, - 3.804925377947908*^9}},ExpressionUUID->"55646062-94a5-41cc-849f-\ -bcc54828c5f4"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"qm1e", " ", "=", " ", - RowBox[{"-", "qm2"}]}], ";"}]], "Input", - CellChangeTimes->{3.516357397796875*^9, 3.51635748325*^9, - 3.516358905203125*^9, 3.57201794738328*^9, 3.804870595079869*^9, - 3.8048706405459685`*^9},ExpressionUUID->"d976e54a-4170-4f37-bfba-\ -e3f490adac4e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, - 3.626691991670635*^9},ExpressionUUID->"aa92a39f-08b0-45e1-95b7-\ -8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Nga2", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, - 3.8048706425229297`*^9}},ExpressionUUID->"74f920f2-7f23-4f51-b933-\ -81dd5219e38a"], - -Cell[BoxData[ - RowBox[{"Ngb2", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, - 3.804870643450972*^9}},ExpressionUUID->"c02640f8-58b2-42aa-8c90-\ -a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Nga2"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ngb2"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.804870599549257*^9, - 3.804870602056671*^9}, {3.8048706441562443`*^9, - 3.80487064684647*^9}},ExpressionUUID->"e0127e99-91a2-4c82-a16d-\ -b7d33e10c829"], - -Cell["Expressions that are evaluated before the system equations", "Text", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}, { - 3.80502217704597*^9, - 3.8050221984089465`*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, - 3.626788286066334*^9}},ExpressionUUID->"3dce3a4d-0f1b-4201-a446-\ -f7764743c02d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - CellChangeTimes->{{3.8050222130113287`*^9, 3.805022233768586*^9}, { - 3.805022272779731*^9, - 3.8050222754172983`*^9}},ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-\ -3c55a8691acc"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qmP", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qmN", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A0", " ", "Kg", " ", "Ng"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm2", "==", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmP"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qmN"}]}], ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"qm1e", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm1e", "]"}], " ", "T1"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm1e", "]"}], " ", "T2"}]}], ")"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"qm2", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm2", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm2", "]"}], " ", "T1"}]}], - ")"}]}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.804870603428256*^9, - 3.804870608550976*^9}, {3.8048706479862947`*^9, - 3.8048706539751167`*^9}},ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-\ -02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.805017881102742*^9, - 3.8050178817381773`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8048706095009923`*^9, 3.8048706108246264`*^9}, {3.8048706549251366`*^9, - 3.8048706590878425`*^9}},ExpressionUUID->"096b47ac-1067-49dc-aae2-\ -345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qmP", ",", "qmN", ",", "qm2", ",", "dE1", ",", "dE2", ",", "p1", ",", - "p2"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.8048706117336893`*^9, 3.804870612207202*^9}, {3.804870660238655*^9, - 3.804870662382444*^9}},ExpressionUUID->"45defc9d-8919-4035-bddf-\ -612495a3adc0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"qm1", "==", - RowBox[{"-", "qm2"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{3.804870613309064*^9, - 3.8048706633414555`*^9},ExpressionUUID->"52249328-bf8f-4534-9a6e-\ -18460255eed0"], - -Cell[BoxData[""], "Input", - CellChangeTimes->{{3.5353708746398582`*^9, 3.535370878803109*^9}, { - 3.5720178526758633`*^9, 3.572017860102288*^9}, 3.5720180575065784`*^9, - 3.626788084646427*^9},ExpressionUUID->"dd6ace65-5d77-4186-8ecc-\ -49603183992f"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] -}, Open ]] -}, Open ]] -}, -WindowSize->{1028, 549}, -WindowMargins->{{Automatic, 128}, {-43, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.6 Inherited, -FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (March 14, 2020)", -StyleDefinitions->"Default.nb", -ExpressionUUID->"30841739-f9c7-4115-83d1-832fd9b7fc9c" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 232, 4, 106, "Section",ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], -Cell[814, 28, 353, 6, 46, "Input",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1170, 36, 535, 13, 46, "Input",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], -Cell[1708, 51, 816, 16, 46, "Input",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2549, 71, 1465, 33, 304, "Input",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4017, 106, 1225, 20, 51, "Output",ExpressionUUID->"aa6f4f45-bf37-4268-85ba-d1117d8dded6", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[5245, 128, 253, 5, 44, "Input",ExpressionUUID->"a791c2d5-12aa-4a0b-9cf3-ef462f51bbf0", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[5535, 138, 98, 0, 60, "Subsection",ExpressionUUID->"697bf27a-0389-4374-80d9-1c2e8b3bc37b"], -Cell[5636, 140, 423, 8, 92, "Text",ExpressionUUID->"f6eb8ea4-3f8b-4501-a6f3-e907612579a4"], -Cell[6062, 150, 16210, 202, 273, "Graphics",ExpressionUUID->"1103612b-ffbb-452e-9799-120ca3d25790"], -Cell[22275, 354, 1509, 34, 226, "Input",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], -Cell[23787, 390, 570, 13, 106, "Input",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], -Cell[24360, 405, 719, 17, 136, "Input",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], -Cell[25082, 424, 933, 18, 136, "Input",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], -Cell[CellGroupData[{ -Cell[26052, 447, 145, 2, 85, "Subsection",ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa", - Evaluatable->False, - PageBreakAbove->False], -Cell[26200, 451, 236, 4, 55, "Text",ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], -Cell[26439, 457, 296, 8, 45, "Input",ExpressionUUID->"55646062-94a5-41cc-849f-bcc54828c5f4"], -Cell[26738, 467, 214, 5, 55, "Text",ExpressionUUID->"fbc6ac93-5130-4905-8ff0-27a02bcad99f"], -Cell[26955, 474, 313, 7, 45, "Input",ExpressionUUID->"d976e54a-4170-4f37-bfba-e3f490adac4e"], -Cell[27271, 483, 192, 5, 45, "Input",ExpressionUUID->"aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], -Cell[27466, 490, 838, 23, 119, "Input",ExpressionUUID->"74f920f2-7f23-4f51-b933-81dd5219e38a"], -Cell[28307, 515, 834, 23, 119, "Input",ExpressionUUID->"c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], -Cell[29144, 540, 1536, 42, 236, "Input",ExpressionUUID->"e0127e99-91a2-4c82-a16d-b7d33e10c829"], -Cell[30683, 584, 252, 4, 55, "Text",ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], -Cell[30938, 590, 2159, 61, 480, "Input",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"] -}, Open ]], -Cell[CellGroupData[{ -Cell[33134, 656, 224, 4, 85, "Subsection",ExpressionUUID->"3a0715e6-17b5-4eaf-9bf8-3c55a8691acc"], -Cell[33361, 662, 2917, 62, 349, "Input",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], -Cell[CellGroupData[{ -Cell[36315, 729, 160, 3, 85, "Subsection",ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-200441668409"], -Cell[36478, 734, 814, 19, 136, "Input",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], -Cell[CellGroupData[{ -Cell[37329, 758, 174, 3, 85, "Subsection",ExpressionUUID->"7aee13e0-4e61-4e17-a44c-47e7f85d055c"], -Cell[37506, 763, 590, 12, 45, "Input",ExpressionUUID->"45defc9d-8919-4035-bddf-612495a3adc0"] -}, Open ]], -Cell[CellGroupData[{ -Cell[38133, 780, 88, 0, 85, "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], -Cell[38224, 782, 146, 2, 55, "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], -Cell[38373, 786, 334, 8, 106, "Input",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], -Cell[38710, 796, 253, 4, 46, "Input",ExpressionUUID->"dd6ace65-5d77-4186-8ecc-49603183992f"], -Cell[38966, 802, 118, 1, 46, "Input",ExpressionUUID->"4645ae3b-f450-4172-8e7e-c2b40bd2cd1b"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve32.hpp b/devPneumatic/PneumaticValve32.hpp deleted file mode 100644 index e21c1e8..0000000 --- a/devPneumatic/PneumaticValve32.hpp +++ /dev/null @@ -1,663 +0,0 @@ -#ifndef PNEUMATICVALVE32_HPP_INCLUDED -#define PNEUMATICVALVE32_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve32.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Mon 3 Aug 2020 16:52:10 -//! @brief Pneumatic 32-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve32.nb*/ - -using namespace hopsan; - -class PneumaticValve32 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[10]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double Ng32e; - double Ng12e; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpNg32e; - double *mpNg12e; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve32(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(10,10); - systemEquations.create(10); - delayedPart.create(11,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - dE2=stateVark[4]; - dE1=stateVark[5]; - dE3=stateVark[6]; - p2=stateVark[7]; - p1=stateVark[8]; - p3=stateVark[9]; - //Expressions - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE32_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve32.nb b/devPneumatic/PneumaticValve32.nb deleted file mode 100644 index 587dac3..0000000 --- a/devPneumatic/PneumaticValve32.nb +++ /dev/null @@ -1,1256 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 12.1' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 62451, 1248] -NotebookOptionsPosition[ 59385, 1154] -NotebookOutlinePosition[ 60038, 1176] -CellTagsIndexPosition[ 59995, 1173] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve32", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, - 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, - 3.8054534604791784`*^9}, - ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, - 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, - 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, - 3.805454186766837*^9}}, - ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { - 3.8054541687164564`*^9, 3.805454187050544*^9}}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "3", ",", "16", ",", "36", ",", - "27.0675276`9.185023503806008"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, - 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { - 3.805454168942223*^9, 3.8054541871244683`*^9}}, - ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, - ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 -oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] -B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI -F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W -@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW -Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM -HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh -4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C -DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN -?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca -lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` -f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ -71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i -CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW -M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 -HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 -bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 -^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V -4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY -J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X -US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 -:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 -0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 -AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 -P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 -00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo -oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo -oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 -W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 -jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 -TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 -NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 -U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 -0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 -00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 -0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 -0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 -0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 -00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 -0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c -0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y -D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 -0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 -00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 -0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F -0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj ->SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 -0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 -0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 -A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 -0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 -Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 -lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 -D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 -h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo -oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 -bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c -0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 -N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 -8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -00000"], "Graphics", - ImageSize->{166., 139.1470588235294}, - ImageMargins->{{89, 0}, {0, - 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{ - "1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, - 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { - 3.8054541693537984`*^9, 3.8054541874211617`*^9}}, - ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], - -Cell["The valve capacities are limited between 0 and Cf..", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { - 3.8054550231051493`*^9, 3.805455049024413*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}, {3.8051086667297983`*^9, - 3.8051086817684207`*^9}, {3.8051089737576003`*^9, - 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}}], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRANALEEkLk= - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", - CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, - 3.805109082009644*^9, 3.805454147227625*^9}, - ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, - 3.8051083173812647`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ -12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, - ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { - 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, - 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050178706124625`*^9, - 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}}, - ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{1301, 931}, -WindowMargins->{{154, Automatic}, {11, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 306, 5, 70, "Section"], -Cell[889, 29, 691, 10, 30, "Output"], -Cell[CellGroupData[{ -Cell[1605, 43, 484, 11, 30, "Input"], -Cell[2092, 56, 1731, 24, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[3860, 85, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4218, 93, 740, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[4973, 110, 280, 4, 30, "Output"], -Cell[CellGroupData[{ -Cell[5278, 118, 1615, 34, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6896, 154, 2082, 31, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8981, 187, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[9368, 199, 98, 0, 49, "Subsection"], -Cell[9469, 201, 602, 9, 49, "Text"], -Cell[10074, 212, 18611, 232, 156, "Graphics"], -Cell[28688, 446, 2486, 53, 215, "Input"], -Cell[31177, 501, 644, 13, 69, "Input"], -Cell[31824, 516, 1840, 39, 164, "Input"], -Cell[33667, 557, 1508, 27, 107, "Input"], -Cell[CellGroupData[{ -Cell[35200, 588, 200, 3, 30, "Input"], -Cell[35403, 593, 1067, 15, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[36519, 614, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[36667, 618, 323, 7, 30, "Input"], -Cell[36993, 627, 394, 5, 30, "Text"], -Cell[37390, 634, 1368, 32, 90, "Input"], -Cell[38761, 668, 262, 6, 50, "Input"], -Cell[39026, 676, 213, 4, 30, "Text"], -Cell[39242, 682, 191, 4, 30, "Input"], -Cell[39436, 688, 1090, 24, 74, "Input"], -Cell[40529, 714, 1041, 23, 74, "Input"], -Cell[41573, 739, 1421, 42, 52, "Input"], -Cell[42997, 783, 1140, 24, 74, "Input"], -Cell[44140, 809, 1090, 24, 74, "Input"], -Cell[45233, 835, 2086, 48, 52, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[47356, 888, 159, 3, 49, "Subsection"], -Cell[47518, 893, 246, 5, 30, "Input"], -Cell[47767, 900, 676, 14, 69, "Input"], -Cell[48446, 916, 291, 4, 30, "Text"], -Cell[48740, 922, 2169, 54, 126, "Input"], -Cell[50912, 978, 3929, 66, 331, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[54878, 1049, 162, 3, 49, "Subsection"], -Cell[55043, 1054, 1431, 30, 107, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[56511, 1089, 174, 3, 49, "Subsection"], -Cell[56688, 1094, 1175, 20, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[57900, 1119, 88, 0, 49, "Subsection"], -Cell[57991, 1121, 146, 2, 30, "Text"], -Cell[58140, 1125, 1092, 21, 145, "Input"], -Cell[59235, 1148, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve32.pdf b/devPneumatic/PneumaticValve32.pdf deleted file mode 100644 index 019b08cb1ba2890995c832c7594c2a2aae8c0b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90865 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 JMdihA{2!-iK1cun diff --git a/devPneumatic/PneumaticValve32.svg b/devPneumatic/PneumaticValve32.svg deleted file mode 100644 index 196a515..0000000 --- a/devPneumatic/PneumaticValve32.svg +++ /dev/null @@ -1,1199 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve32.xml b/devPneumatic/PneumaticValve32.xml deleted file mode 100644 index e9bef71..0000000 --- a/devPneumatic/PneumaticValve32.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - Pnenumatic Valve32. - PneumaticValve32.nb - PneumaticValve32.pdf - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve32G.nb b/devPneumatic/PneumaticValve32G.nb deleted file mode 100644 index f60eaaa..0000000 --- a/devPneumatic/PneumaticValve32G.nb +++ /dev/null @@ -1,1444 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 12.1' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 71528, 1436] -NotebookOptionsPosition[ 68310, 1340] -NotebookOutlinePosition[ 68962, 1362] -CellTagsIndexPosition[ 68919, 1359] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve32", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, - 3.8048336098752885`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9, 3.8052140230030565`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9, 3.8052140256179743`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "7", ",", "31", ",", "21", ",", "54", ",", - "42.5527098`9.381502096220904"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.8052139582718973`*^9, 3.8052140296728487`*^9, 3.8052140825716896`*^9}, - ExpressionUUID -> "081b577f-23a2-419b-b088-0608031113a7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, - 3.805022947994833*^9}},ExpressionUUID->"fdb397bf-a6a5-4a0c-b930-\ -ee7c7cc96b5e"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 -oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] -B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI -F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W -@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW -Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM -HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh -4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C -DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN -?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca -lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` -f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ -71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i -CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW -M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 -HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 -bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 -^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V -4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY -J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X -US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 -:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 -0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 -AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 -P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 -00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo -oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo -oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 -W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 -jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 -TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 -NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 -U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 -0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 -00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 -0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 -0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 -0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 -00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 -0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c -0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y -D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 -0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 -00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 -0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F -0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj ->SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 -0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 -0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 -A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 -0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 -Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 -lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 -D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 -h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo -oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 -bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c -0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 -N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 -8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -00000"], "Graphics", - ImageSize->{166., 139.1470588235294}, - ImageMargins->{{89, 0}, {0, - 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A1max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A3max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, 3.805108731364309*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{ - "1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.8052139584467173`*^9, 3.8052140298067117`*^9, 3.805214082749506*^9}, - ExpressionUUID -> "60add956-2a18-4cd8-b0fc-7f937dd723f9"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, - 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}, {3.8051086667297983`*^9, 3.8051086817684207`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { - 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { - 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, - 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { - 3.805011288694769*^9, 3.805011290232191*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { - 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { - 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, - 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { - 3.805011290999591*^9, 3.8050112923130174`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { - 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, - 3.8050113217262278`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, - 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, - 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, - 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { - 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, - 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, - 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, - 3.8044096936388044`*^9}, {3.8044097370500917`*^9, - 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, - 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { - 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, - 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, - 3.8051083173812647`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ -12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, - ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { - 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, - 3.8051082714225245`*^9}, {3.8051088534294024`*^9, 3.8051089128193035`*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050178706124625`*^9, - 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}}, - ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve32\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve32\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Pne\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"ve32\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve32.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"7\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,38,1, - 16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.8052140843472595`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,38,2,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.805214084580019*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 38,3,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.8052140846079903`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,38,4,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.805214084634963*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,38,5,16366420814912799141, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.8052140846679287`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,38,6,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.80521408470341*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,38,7,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.805214084756343*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 38,8,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.805214084794304*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,38,9,16366420814912799141,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80521395951927*^9, 3.8052140307157726`*^9, - 3.8052140848322644`*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{974, 746}, -WindowMargins->{{220, Automatic}, {76, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "5e16a49b-e9e4-41a3-ad00-0a0df7589f53" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 306, 5, 70, "Section"], -Cell[889, 29, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1247, 37, 533, 12, 30, "Input"], -Cell[CellGroupData[{ -Cell[1805, 53, 788, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2596, 70, 1615, 34, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4214, 106, 1961, 29, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6178, 137, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[6565, 149, 98, 0, 49, "Subsection"], -Cell[6666, 151, 603, 10, 68, "Text"], -Cell[7272, 163, 18611, 232, 156, "Graphics"], -Cell[25886, 397, 2283, 48, 183, "Input"], -Cell[28172, 447, 644, 13, 69, "Input"], -Cell[28819, 462, 1840, 39, 164, "Input"], -Cell[30662, 503, 1508, 27, 107, "Input"], -Cell[CellGroupData[{ -Cell[32195, 534, 200, 3, 30, "Input"], -Cell[32398, 539, 946, 13, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[33393, 558, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[33541, 562, 323, 7, 30, "Input"], -Cell[33867, 571, 373, 7, 30, "Text"], -Cell[34243, 580, 1266, 30, 90, "Input"], -Cell[35512, 612, 214, 5, 30, "Text"], -Cell[35729, 619, 191, 4, 30, "Input"], -Cell[35923, 625, 1244, 28, 76, "Input"], -Cell[37170, 655, 1243, 28, 76, "Input"], -Cell[38416, 685, 1946, 47, 94, "Input"], -Cell[40365, 734, 1341, 29, 76, "Input"], -Cell[41709, 765, 1405, 30, 76, "Input"], -Cell[43117, 797, 2040, 48, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[45194, 850, 159, 3, 49, "Subsection"], -Cell[45356, 855, 2211, 61, 307, "Input"], -Cell[47570, 918, 291, 4, 30, "Text"], -Cell[47864, 924, 2169, 54, 126, "Input"], -Cell[50036, 980, 3945, 66, 322, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[54018, 1051, 162, 3, 49, "Subsection"], -Cell[54183, 1056, 1431, 30, 107, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[55651, 1091, 174, 3, 49, "Subsection"], -Cell[55828, 1096, 1175, 20, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[57040, 1121, 88, 0, 49, "Subsection"], -Cell[57131, 1123, 146, 2, 30, "Text"], -Cell[57280, 1127, 1092, 21, 145, "Input"], -Cell[CellGroupData[{ -Cell[58397, 1152, 122, 2, 30, "Input"], -Cell[58522, 1156, 6610, 98, 148, "Message"], -Cell[65135, 1256, 317, 7, 21, "Message"], -Cell[65455, 1265, 461, 9, 21, "Message"], -Cell[65919, 1276, 317, 7, 21, "Message"], -Cell[66239, 1285, 461, 10, 21, "Message"], -Cell[66703, 1297, 316, 7, 21, "Message"], -Cell[67022, 1306, 389, 8, 21, "Message"], -Cell[67414, 1316, 459, 9, 21, "Message"], -Cell[67876, 1327, 394, 8, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve33.hpp b/devPneumatic/PneumaticValve33.hpp deleted file mode 100644 index 760be88..0000000 --- a/devPneumatic/PneumaticValve33.hpp +++ /dev/null @@ -1,663 +0,0 @@ -#ifndef PNEUMATICVALVE33_HPP_INCLUDED -#define PNEUMATICVALVE33_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve33.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:54:56 -//! @brief Pneumatic 33-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve33.nb*/ - -using namespace hopsan; - -class PneumaticValve33 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[10]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double Ng32e; - double Ng12e; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpNg32e; - double *mpNg12e; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve33(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(10,10); - systemEquations.create(10); - delayedPart.create(11,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - dE2=stateVark[4]; - dE1=stateVark[5]; - dE3=stateVark[6]; - p2=stateVark[7]; - p1=stateVark[8]; - p3=stateVark[9]; - //Expressions - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm1 = qm12Neg*onNegative(p1 - p2) - qm12Pos*onPositive(p1 - p2); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE33_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve33.nb b/devPneumatic/PneumaticValve33.nb deleted file mode 100644 index 6ce733c..0000000 --- a/devPneumatic/PneumaticValve33.nb +++ /dev/null @@ -1,1488 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 12.1' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 75597, 1480] -NotebookOptionsPosition[ 72115, 1375] -NotebookOutlinePosition[ 72769, 1397] -CellTagsIndexPosition[ 72726, 1394] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve33", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, - 3.805624399089216*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.8051090205924363`*^9, 3.805109089793668*^9, - 3.8054534604791784`*^9}, - ExpressionUUID -> "6f1fe5a6-bfb7-4c5e-b090-fb9fcf55ceb5"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.8051090207652764`*^9, - 3.805109090236253*^9, 3.8054534605261297`*^9, 3.8054536858157425`*^9, - 3.805453892682186*^9, 3.8054539862526693`*^9, {3.8054541682439437`*^9, - 3.805454186766837*^9}, 3.8056244091118784`*^9, 3.805624490932419*^9}, - ExpressionUUID -> "73d9a832-a692-4c30-849a-9307003aca7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8054536859905624`*^9, 3.8054538928649983`*^9, 3.805453986433482*^9, { - 3.8054541687164564`*^9, 3.805454187050544*^9}, 3.805624409530446*^9, - 3.8056244919144063`*^9}], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, 3.805022444001214*^9, {3.805624400054221*^9, - 3.8056244005527067`*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "54", ",", - "51.9453741`9.46812172837272"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805022444001214*^9, - 3.805109020950032*^9, 3.8051090905148053`*^9, 3.805453460571083*^9, - 3.8054536860375133`*^9, 3.805453892913948*^9, 3.8054539864854293`*^9, { - 3.805454168942223*^9, 3.8054541871244683`*^9}, 3.805624409621353*^9, - 3.8056244921221924`*^9}, - ExpressionUUID -> "c96b052a-2411-40e7-9762-760c2422df2b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805022444001214*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"3627ad73-9a97-49b7-8a44-52089bd609ea"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and two positions. It is \ -closed when the input signal is zero and activated when it is one. The \ -opening is proportional to the input signal. When it is closed the load port \ -(2) is connected to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}}, - ExpressionUUID -> "fdb397bf-a6a5-4a0c-b930-ee7c7cc96b5e"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003D`0@0006`0000000008@0002H300200P00 -oOoooogoool33P00_`/00215CDH00040<3D004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000Q0T007P90015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000001DA030P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000K@BDA1E7RLkIa] -B1Ck7/LohckQBRj63dG[kJI_Y392REi9@ASgDQJmj8V@::;XVBbUPPR2GV`IUDF8@[L7]2SKeNSF:UUI -F8T6GQ0g23iH1oe?JQ0XA8iAfh0LA0<^G;dLDADV;bnG2K3Hc>SXZ^DJ>9Clo7h2LW1boj[aN;h/G;`KPfK=W -@ONYen/1Q50:PMnlO_dJYm=9KFf]dUHT8@P2ahhM0n3RaH]1knMb^H3aGiMJNOCX4H8PD5iN[[@EbFAW -Ic=ooWaN_7Q1GEgM[?ADM@R/ER^R:59ADJ6d5LTH30H>7ch<`>G;UfNUYfY3d=CDa>3P803O_WfS_KeM -HDOB>G3P02JCRK:bCPej_inK=VgcooSfX_E@IP^k^kVV7dM[JFTI7AaEbi3mV/iT]FkK`jmL_K]bh -4MANZPc1hlN?dNUdDmKYmG[N_Wf[T:>ITINGQb0851@D<3@d5;@nZPa1JFTY?gonW;9^J6PXY>hB059C -DeVkMRfm_KgL^G[[jjVYZI5M?ab2442SdG3Tb14P>7l/QD<@8^cI/hOHf5RN -?We:De>C[=[Q48@8AZ>AoO_g8hXRUbiMTUDk788@h]2Q@dA6AU9BDX;3hI1=Eh/_2?nDCC5hV9DfX3Ca -lO7/g;VC`/92[UnoS/ERTDEG2c`1oRf;fRc`iL/GYBdXBVi^;/G5aA@F5W;jm6U<9U?0VU[60i2DU1B` -f0ASHf=dM7@@7Ae=C4b<;9X^Uh_>cTj6QhMUd@]ETY:Bf;Qa8eJ[UJ:RX/TAaD3@CWb@Lo;2fK=W>GO^ -71/fK>3F[E^bJ3Hf=Y:FURJ;EZQcl^A9[5H[EjmNiNSAXaK;bJdM1UJ/F34i -CW0e:7TVDbXUCD4CihlXJn_SoCdM9H^GBZW -M9Po8C/k6k?Ic:]G[k3KkNcM^iOTi6@j>S[ld]7nmBkBnOfY85@I61RHR9I2 -HV;RU6Uc>Yf>OO_fLNK<6K:b/]3YM4A6AU9GElNVCI/TjlXFP]kNG^af>eZ]UZeK]lXU>n^/F[F:a/I6 -bO/g=cNCTY8bXejIVIUlo?QAl_i]KFd/F[@80:oGBeUI6@D51@R2P=_]a^ef8`P2=CDebXBP];@DUl_5 -^WG[V3M_WUbb/li/gXHV9RI>>a;dm?@`>3Q8G5`LLnK1N0KU?[Sdk/73ah4h=ZeJm>fcO@X051EEDE[Jn^DIN8XN_klnFWK4QI0U1;M_g`Ildj2jE@XS3aZ=QXZ:2T`V -4ogmoKaildIBGD0QD<_HP9Z8Rh^SZZX:SDI3MGFeY1X]n4JR?Wchh5Nc7cmnD5UIREJ[9BDUaNmjOfUY -J@5l`jEBNdglTM;IfAV@_ijN7P0L3XLT7JOC2OQNTn=_ghTGD[Bg]`OTnMBYDa@E5DWB400GX?^[7L>X -US4]H07nQBl@OfL4h1m07c0P/DHg_Xb=;c?53<@2CT3:^f000004U5CTB^@V2200Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000 -:0000080000200000000_`000;l00053000`@P<000000000P@000000;00Q000020000680000<0000 -0@000240000800007P0001P000000000b@0002L3003L0@005@0000`0000400005@0000`000040000 -AP0001@000080000E4i@D0H1001A0000l0<00000003900009P<00=/100000000b@00000000000000 -P@0002`0001@0000<0000800001`0`00000008H0kP0W0`004`4002P000210000;00000400@000000 -00000000000000000000000000000000oooo05EEEEEEEEEEEGEGEEEEEED00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000oooooooooooooooo -oooooh00003oooooooooooooooooooooP0000?oooooooooooooooooooon00000Oooooooooooooooo -oooooh000008R8R8R;ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000ooooooooo -oooooh000000000001ooooooooooooooP00000000000?ooooooooooooon000000000000Ooooooooo -oooooh000000000003ooooooooooooooP000000000007ooooooooooooon000000000000Ooooooooo -oooooh00001A0000W1T00000003900009P<00=/100000000b@00000000000000P@0002`0001@0000 -W0800>`2002`5P00000003Ph03`l?003`l?00<30`3Lg=`0PX:200@410051@D0VIVI075aL@1/K6`0@d=30>?Sh`3[jn/0 -jNWY00L71`1LG5`0PH6100`<300>3Ph0d];B01GUi@1>CTh0T92@0?7al@3^k^h0Ph>30:j^[P3/k>`0inOW0=OGe`0X:2P0g]kN0:VYZ@0E5AD0 -TY:B02l_;`15ADD03@d=0;Zj^P0^;Rh0Z:RX06][J`2CTi<0I6AT09ZJVP1dM7@0no_k0=WIf@0o?cl0 -NWYj06=SH`2GUiL08B4Q05=CD`2o_kl0YZJV069RHP1lO7`0JVYZ010@400i>CT0=cLg0>[ZjP1:BTX0 -U9BD03Xj>P3FUYJFUYJFUYJFUYIj82<E0@410@410@00000000010@410@410@410@41@P2A0@410@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410@410@6BMA510@410@410@00000000010@410@410@410@41I8l0L@410@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@410@410C^@2e9j0@410@410@00000000010@410@410@41 -0@410H`0S@410@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@410Hhn02m/0@410@410@000000 -00010@410@410@410@410HX05el10@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@410@41Rd/003d1 -0@410@410@00000000010@410@410@410@410@R804D10@410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@41 -0@410@4a?P0008T10@410@410@00000000010@410@410@410@410@6508H10@410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@410@H01`410@410@41 -0@410Gl0P0410@410@410F`D4@0078L10@410@410@00000000010@410@410@410@410@6303180@41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410Gd0OP410@410@41 -0@H01`410@410@410@410Gl0P0410@410@41Gh@/0000DUL10@410@410@00000000010@410@410@41 -0@410@41@`1l0@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0Gd0OP410@410@410@H01`410@410@410@410Gl0P0410@410@41PGT000006h810@410@410@000000 -00010@410@410@410@410@41MP170@410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@5g000000000000001a0@410@H01`410@410@5h>SXj>WT0MCXj>SY<0@5j4@000000N`41 -0@410@410@00000000010@410@410@410@410@41K`/SL0410@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@42000000000000001a0@410@H01`410@410@5b000000000000001c -0@5OM7DA000A=@410@410@410@00000000010@410@410@410@410@410FT0JP410@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@5[K6a/4`410@410@410@410@H01`410@410@4Y -D51@D51@D51@D5030@410Fd08d/_KP410@410@410@00000000010@410@410@410@410@410D00?`41 -0@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410@410`@02VLPJ0410@410@410@00000000010@410@410@41 -0@410@410FAB01X10@410@410@410@410@410@41E`1;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410@41I@1V0@4M0@410@410@410@000000 -00010@410@410@410@410@410@5P06410@410@410@410@410@410@41E`1;0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@410@48HP1S0@410@41 -0@410@410@00000000010@410@410@410@410@410@5L05Tk0@410@410@410@410@410@41E`1;0@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -0@5M05iO0@410@410@410@410@00000000010@410@410@410@410@410@48A00<0@410@410@410@41 -0@410@41E`1;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@410@5J05/10@410@410@410@410@00000000010@410@410@410@410@410@41E@1F -0@410@410@410@410@410@41Ea5;0@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@410EP0F@D10@410@410@410@410@000000000j>SXj>SXj>SXj ->SXj>SXj>SXjDB1B>SXj>SXj>SXj>SXj>SXj>SXj121;0@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410@410E<0E0410@410@410@410@410@000000 -0@000000000000000000000000000000000000000000000000000000001?0@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41D20`7P410@410@41 -0@410@410@0000000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410@41 -C@1>0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@410@020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@410@4[BbA<0@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@410@5104X10@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@410Bh0@@410@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@410DQ94AX10@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@410@410@410Bh0@@41 -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@410DH0A`410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@41>d@0 -A@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@41 -0@410@4100020@410@410@410Bh0@@410@410@410@410@410@410@410@410@410@H01`410@410@41 -0@410@410@41@P130@410@410@410@410@410@410@0000000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@410@020@410@410C`m5Sh0?QH4:`410@410@410@410@410@410@410@41 -0@H01`410@410@410@410@410@41?`100@410@410@410@410@410@410@0000000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410CP;0000000i0@410@410@410@41 -0@410@410@410@410@H01`410@410@410@410@410@4<03Xk0@410@410@410@410@410@410@000000 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410@4d0000020e -0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410@4f03L10@410@410@410@41 -0@410@410@0000000@410@410@410@410@410@410@410@410@410@410@410@410@410@4100020@41 -0@410@4>;`00030=0@410@410@410@410@410@410@410@410@H01`410@410@410@410@410C4AP0000000000/08/>P00000004U3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P000080005A40<0aA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X000000019@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X000000019@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?nZDQef`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000 -Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@7h5@00h=]?0`g;WHlgTl0n1D4FP0000000000100000AJ003h5E[ooooookP@0004FP@0l7GK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0003>0P00 -lP4000P3001o0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003<0000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oZU3=4]BlHA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hKM3TC:OaQ4140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000001@0`00a`80000000000000 -D0<00Qef`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41N7KK20008ND08@006@0001Io0@4<5P00 -h=]?0`g;WHlgTl031H4UP0000000000100000BF000<5YKo -oooookP@0004UP@0l7GK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000k0P00l`4007D200200P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD0000340000k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3n6g@i4 -bWlHA2Y0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?hKM3TB3@A13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001@0`00a`80000000000000D0<00Qef`RZ6d]c -0@0009aE27L00000k0;K204000000000KcDkMR40000Q000QT0GK2000000I0000Q=]?0000000B8@41 -N7KK20008ND08@006@0001Io0@4Q5P00h=]?0`g;WHlgTl0 -8AH4_P0000000000100000Bn000Q5[kooooookP@0004_P@0l7GK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0000k0P008@0007D2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380oolk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000;00002T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3n6g@i4Pd4@@bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000100000000008@0@4 -600000`000024<3K000000<0010d@0@030000000000Q000020000680000<00000@0004`0001T0000 -00000"], "Graphics", - ImageSize->{166., 139.1470588235294}, - ImageMargins->{{89, 0}, {0, - 8}},ExpressionUUID->"d7ad52f4-81da-49c0-aaec-1f3fdab4dcbb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{ - "1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], - "]"}], ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], - "]"}]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050225108766174`*^9, 3.8050225301545696`*^9}, {3.8050225925454407`*^9, - 3.805022637407225*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.805109022021333*^9, 3.805109092586623*^9, 3.805453460815832*^9, - 3.8054536862762685`*^9, 3.80545389318367*^9, 3.805453986762143*^9, { - 3.8054541693537984`*^9, 3.8054541874211617`*^9}, 3.8056244101538033`*^9, - 3.8056244937684946`*^9}, - ExpressionUUID -> "006bbd67-73ed-4b60-950b-52a1e9a636f7"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", "xin"}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, - 3.8056243655603123`*^9}, - ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], - -Cell["The valve capacities are limited between 0 and Cf..", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, 3.805011506838086*^9}, { - 3.8054550231051493`*^9, 3.805455049024413*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}, {3.8051086667297983`*^9, - 3.8051086817684207`*^9}, {3.8051089737576003`*^9, - 3.8051089855290747`*^9}, {3.805454119729986*^9, 3.8054541295938115`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}}], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBmIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRANALEEkLk= - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"crit", "=", "Bf"}], ";"}]], "Input", - CellChangeTimes->{{3.805108289941753*^9, 3.8051082980689697`*^9}, - 3.805109082009644*^9, 3.805454147227625*^9}, - ExpressionUUID -> "62056022-c14c-41af-bb53-aabbd5588553"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.8051083115767727`*^9, - 3.8051083173812647`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"43913fb2-669a-4524-ac5e-\ -12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, - ExpressionUUID -> "42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}, { - 3.8051080780039597`*^9, 3.805108097143609*^9}, {3.805108138160879*^9, - 3.8051082714225245`*^9}, {3.805453968389095*^9, 3.805453974002307*^9}}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050178706124625`*^9, - 3.8050178707127542`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}}, - ExpressionUUID -> "d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Pneu\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"ve33\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.571429\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"qm32Neg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.714286\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve33\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve33\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve33.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"5\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.714286\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng32e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng12e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,309, - 60,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.805624496601571*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,309,61,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.8056244967374315`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 309,62,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.8056244967634044`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,309,63,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.8056244967903767`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,309,64,16369105449659597481, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.80562449681635*^9}], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,309,65,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.8056244968433223`*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,309,66,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.805624496871293*^9}], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 309,67,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.805624496898266*^9}], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,309,68,16369105449659597481,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.80562441291096*^9, 3.805624497034125*^9}] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1301, 931}, -WindowMargins->{{Automatic, 56}, {-623, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 330, 5, 70, "Section"], -Cell[913, 29, 691, 10, 30, "Output"], -Cell[CellGroupData[{ -Cell[1629, 43, 484, 11, 30, "Input"], -Cell[2116, 56, 1777, 24, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[3930, 85, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4288, 93, 740, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[5043, 110, 330, 5, 30, "Output"], -Cell[CellGroupData[{ -Cell[5398, 119, 1667, 35, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7068, 156, 2131, 32, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9202, 190, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[9589, 202, 98, 0, 49, "Subsection"], -Cell[9690, 204, 602, 9, 49, "Text"], -Cell[10295, 215, 18611, 232, 156, "Graphics"], -Cell[28909, 449, 2486, 53, 215, "Input"], -Cell[31398, 504, 644, 13, 69, "Input"], -Cell[32045, 519, 1840, 39, 164, "Input"], -Cell[33888, 560, 1508, 27, 107, "Input"], -Cell[CellGroupData[{ -Cell[35421, 591, 200, 3, 30, "Input"], -Cell[35624, 596, 1119, 16, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[36792, 618, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[36940, 622, 302, 6, 30, "Input"], -Cell[37245, 630, 394, 5, 30, "Text"], -Cell[37642, 637, 1368, 32, 90, "Input"], -Cell[39013, 671, 262, 6, 50, "Input"], -Cell[39278, 679, 213, 4, 30, "Text"], -Cell[39494, 685, 191, 4, 30, "Input"], -Cell[39688, 691, 1090, 24, 74, "Input"], -Cell[40781, 717, 1041, 23, 74, "Input"], -Cell[41825, 742, 1421, 42, 52, "Input"], -Cell[43249, 786, 1140, 24, 74, "Input"], -Cell[44392, 812, 1090, 24, 74, "Input"], -Cell[45485, 838, 2086, 48, 52, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[47608, 891, 159, 3, 49, "Subsection"], -Cell[47770, 896, 246, 5, 30, "Input"], -Cell[48019, 903, 676, 14, 69, "Input"], -Cell[48698, 919, 291, 4, 30, "Text"], -Cell[48992, 925, 2169, 54, 126, "Input"], -Cell[51164, 981, 3929, 66, 331, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[55130, 1052, 162, 3, 49, "Subsection"], -Cell[55295, 1057, 1431, 30, 107, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[56763, 1092, 174, 3, 49, "Subsection"], -Cell[56940, 1097, 1175, 20, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[58152, 1122, 88, 0, 49, "Subsection"], -Cell[58243, 1124, 146, 2, 30, "Text"], -Cell[58392, 1128, 1092, 21, 145, "Input"], -Cell[CellGroupData[{ -Cell[59509, 1153, 122, 2, 30, "Input"], -Cell[59634, 1157, 9501, 140, 131, "Message"], -Cell[69138, 1299, 294, 6, 21, "Message"], -Cell[69435, 1307, 436, 8, 21, "Message"], -Cell[69874, 1317, 294, 6, 21, "Message"], -Cell[70171, 1325, 433, 9, 21, "Message"], -Cell[70607, 1336, 294, 6, 21, "Message"], -Cell[70904, 1344, 364, 7, 21, "Message"], -Cell[71271, 1353, 434, 8, 21, "Message"], -Cell[71708, 1363, 367, 7, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve33.pdf b/devPneumatic/PneumaticValve33.pdf deleted file mode 100644 index 8a9fb78438043cb905cfe408d55f14d486c2b277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91274 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%0A+t^N$xzR&ZC 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 z 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 A7Hz7 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�XKC?m0YO!HWMC>7Fn~< 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 diff --git a/devPneumatic/PneumaticValve33.svg b/devPneumatic/PneumaticValve33.svg deleted file mode 100644 index c5146fd..0000000 --- a/devPneumatic/PneumaticValve33.svg +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve33.xml b/devPneumatic/PneumaticValve33.xml deleted file mode 100644 index e6b1bde..0000000 --- a/devPneumatic/PneumaticValve33.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - Pnenumatic Valve33. - PneumaticValve33.nb - PneumaticValve33.pdf - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve33G.nb b/devPneumatic/PneumaticValve33G.nb deleted file mode 100644 index b6cc9e4..0000000 --- a/devPneumatic/PneumaticValve33G.nb +++ /dev/null @@ -1,1331 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 66404, 1323] -NotebookOptionsPosition[ 63619, 1235] -NotebookOutlinePosition[ 64271, 1257] -CellTagsIndexPosition[ 64228, 1254] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve33", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.8048336098752885`*^9, - 3.805012920364835*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804934999464794*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.8045949548957386`*^9, 3.8047802902035117`*^9, 3.8048336161837807`*^9, { - 3.804833662007513*^9, 3.8048336742029333`*^9}, 3.804834137078476*^9, { - 3.8048540125686183`*^9, 3.8048540150970106`*^9}, 3.8048562912964225`*^9, { - 3.8048571571910286`*^9, 3.8048571757159204`*^9}, 3.804920317157837*^9, - 3.8050121140387926`*^9, 3.805012229711675*^9, 3.805012314330491*^9, - 3.8050124418309746`*^9, 3.805012957555482*^9}, - ExpressionUUID -> "37d6925a-c1d8-47c0-a1f5-6a561d507ef8"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.8049350007594585`*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.8042738048082175`*^9, 3.8044087359977474`*^9, - 3.8044087722167654`*^9, 3.804409225498485*^9, {3.8044094849831696`*^9, - 3.804409512967721*^9}, 3.8044097607805605`*^9, 3.8044118710017776`*^9, - 3.8044183788755445`*^9, 3.804594954838798*^9, 3.8047802901445723`*^9, - 3.8048336161138535`*^9, {3.804833661935589*^9, 3.8048336741330056`*^9}, - 3.8048341369955606`*^9, {3.804854012533654*^9, 3.8048540150590496`*^9}, - 3.8048562912534676`*^9, {3.8048571571430783`*^9, 3.8048571756809573`*^9}, - 3.804920317137858*^9, 3.805012114618408*^9, 3.8050122299147334`*^9, - 3.8050123145946455`*^9, 3.8050124426528034`*^9, 3.805012957946987*^9}, - ExpressionUUID -> "0ffd127d-4df5-474f-b672-3962a05d2d8b"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.804833601500928*^9, - 3.8048336037625947`*^9}, {3.8050129234567766`*^9, 3.8050129253687286`*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "7", ",", "29", ",", "14", ",", "2", ",", - "38.0080433`9.33245039768767"}], "}"}]], "Output", - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042738048871365`*^9, 3.8044087360946903`*^9, - 3.804408772533554*^9, 3.804409226236966*^9, {3.804409485473258*^9, - 3.804409513234929*^9}, 3.804409761026326*^9, 3.804411871145439*^9, - 3.804418379030259*^9, 3.804594954953679*^9, 3.804780290266446*^9, - 3.804833616251711*^9, {3.8048336620784407`*^9, 3.804833674270864*^9}, - 3.8048341371583986`*^9, {3.8048540126055803`*^9, 3.804854015136969*^9}, - 3.804856291334383*^9, {3.8048571572409773`*^9, 3.804857175745889*^9}, - 3.8049203171778164`*^9, 3.805012114990477*^9, 3.8050122301344967`*^9, - 3.8050123148763685`*^9, 3.805012443170065*^9, 3.805012958351659*^9}, - ExpressionUUID -> "95065a91-93a7-4638-b8ef-30e65d227f21"] -}, Open ]], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"13d1cb30-f088-4b61-91dd-0d101aa26d99"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. It is \ -closes all flow paths when the input signal is zero and opens between \ -pressure port (1) and load port (2) when it is one. The opening is \ -proportional to the input signal. At negative signals it opens the load port \ -(2) to the return port (3). There is no valve dynamics.\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, - 3.8050235752501793`*^9},ExpressionUUID->"ac7a5f84-49db-4b81-8144-\ -287fb0777a2d"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003j<0@0006`0000000008@0003<400200P00 -oOoooogoooo84@00``/00215CDH00040S3h004H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P20016000040/000@;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000826A000P0000000000/08/>P00000004U3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004U38D0700`00000000024000c`0000`00000Q30f`@000000000 -000000000020; -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000QKBDA1E7RLkIek -B9=]7lLoKZiEcZc/CL=jNATIM40S2DXZ8R[NX38Z4hZI444IQ]512B8RRLZT0f914HDMV18INmG28<[: -K1dXR:9bQG>Mc4>ifF5]eo^7Sg_LXci^k]jFNnh?k8okfWEmOco^OKVm[mmegKMQ31c2PL_0hV0W8Q092NW^kaV>73Q`?@g=`L -/3bCTY80<1Z=7_EO^W@Y08L?7`kh>EFYE02:PFAH[kU`h@9UIFG1CR=Tf;im>`051@GHkOJ0a^j<5k:6 -]EP/V1R0o?co`l@7jmN/lN_@XX;53d[1j_Ijf -]SKG/MEZUJ/54Z9FZmVdJA<0Q`hM2VS/T3>/dnWTj]F[KQ<2Ym?9UB]GPYQEj96IVHU6Xj6TY8Bj^/2] -ihBLHNoN_M]SNf][Jd1?K:PcH/@8eZeKQl?Qh=RaH`6;6aj`B07Rl^G;F:gFK^ef^if:RPZb/[:2T=FO -F:eFl_;b^[EgCP[gk=W3h<63GNg3QPeSiljM0L_?6kI^gDYADA6WCYeRejiMS1Xeb^la@lj`dM7A[5Ze -2X3BdU8L3PNYZJTXUDXg8`@;ZmG:P@<7N_gnj=6SK/MSahkmK@dkK]`hDU=C^G3Q0/N?7fOG[UenSaUb -Q^gjhiJEUN5`>3QkmRa3QP`9HUIoX]5Xf;mo_n_HI[?alnO?G_]7ADD58ZenTi>C`lF;5bT/;6CK]Ven -?llQImSO7He6@di>C[3CT8b4Q0CVcim?EEDEIlnNIL>63Gj=5g:C;YW0dkTY9Slo7hO3hMMH/V5UO6K1 -PPEW@X6cM^92l_Sh:20TjO?^fG>08@DY:G -UbL0/G[eJ/TdGkil:L;2`XA:YO9hc>31P`DPf]_K9L_34ljL>B<0TIjN7]2hgY:DU2@0HC@J9M?ln?6S -639TR52YE::n_UhbgDjOnVGBMNkL>@1d>YfT^R88SfC8NUE9JIX0aOOYdI/nN -SLERhMBYDfcI/XGahlMCFe_[TjjTOkXZ:RD?cadYc4a4B_Kgd<1P?O_gog -^?oBYD]AZmGMf/_;bfU_KoMHIlVB9Ak_2Gkmn[EGmioalO4<6cK<[Bdk>i_ZjVZb/[9@ZmDhWDi^gkk= -_7Wc?=K]2DW:F/g=cD:]EP^5@R7bVdEMI:bHVaZ/HCDe= -?N[4aLEiYO?ahdNglGmGeUZdJ95GfUEEEJjaCZMCU9BDR=SHF:5@:=cjcIhmfn?OXR^MhbFk`^[eNWkl -n<72Q@/I>gJ/E;819b4QPKRh>;LfTlU4Bd/;FZfF4B=6^7gGWhWUTRE;^UfmJVYZJ6QXH>KGmM7 -e[^bN?5RVY^KgM[^gK^7fFaVaX`IS1_W_Y[MdeFj=n;ShoWdjI?[f6Zed]SHB7=c73nnf8=AehoJ[ -Ejo@jG@moZEjl^B9acWdQRAGf>CTI068h^9RWkEj8U1Gf9i8CDdEP=3[mAkeklo2`HXE:`@PBT];ni^V -44:8];@d0HR;5boffMOKQH=mnoH9@>CVi_KImm:UBd:SdGBk4TM5A@VCbNAA_:idSYMTdUEGEdM=C@dA -4A4/FkI<2TVI0LkbiL_9bMV^oNO=V_cEm=^bM>gNXZj/S;Rj>^G?WnRXW4f:<73VB -ZeN_^]dJVChlN=4ATH27MF:oUH;O3;/mnoOGFmRG[=VSBmB -CZLS;Bd=SDJ3cFJSYZJVGcXn6MIP<=3JfTYBDQ9CYTcaAD[V7d1ADA4C9Tc0hG3dnfG8?QVfjnf0 -S4aOZ5@Z:RXZR8Z:`VPdmT/S73YFJahnO>SE`9JF5RX[:e4ZUDbJ=ejokb`03lU`kco^kl6oP:]0HhKR`@2K`7^[o;/c_AM3`jg`BlmC36 -_h08h1?PnAJ/gWDJ0MlfWgI7@HM?1>2DF=/CC_lOKLUdj_bDf?@00000BDE>A:i2H88000Q00PPT0000 -6000008@`=/100000`00000000000000000001]00D0d0000:0000080000200000000_`000;l002a3 -000`@P<000000000[0000000;00Q000020000680000<00000@000240000800007P0001P000000000 -b@0003@4003L0@005@0000`0000400005@0000`000040000AP0001@000080000E4i@D0H1001A0000 -X0@0000000390000<`@00=/100000000b@00000000000000[00002`0001@0000<0000800000P1000 -000008H0kP0d10004`4002P0002/0000;00000400@00000000000000000000000000000000000000 -oooo05EEEEEEEEEEEGEGEGEEEEEEEEEEEE000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo0007oooooooooo -oooooooooooooooooo0000R8R8R8_ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo -oooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooo -oo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooo -oooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo -oooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooo -oooooooooooooooooo00000000007ooooooooooooooooooooo000540002l80000000008n?S`051@D06QXJ0CTi00820P0 -2@T90=gMg@0j>SX0Y:BT09NGU`0<30`0U9BD0:j^[P0^;Rh0o_kn03`l?00m?Cd0oOgm02TY:@2i^KT0 -m?Cd00L71`3fm_H0VIVI04A4A02][Jd03Ph>0?Shn00I6AT0cLg=05IFEP010@400P8206UYJ@24Q8@0 -FEUI00<30`3Lg=`02PX:06m_K`1^KVh0LW9b09:BTP3clo<0MgMg08F5Q@3Rh^80jn_[05QHF01EEED0 -VYZJ0>OWi`1JFUX0PX:208R8R01mOGd0QXJ60=7Ad@0F5QH0ADE50;Zj^P0R8R80o?cl038bWYj@0X:2P0 -]kNg06MWI`1fMWH0bg]k@19BDT0ATI6014A4@3_knl0I6AT03Ti>@0h>3P09bLW018B4P34a<@0 -fMWI0:>SX`2YZJT0Zj^[05MGE`2WYjL0N7Qh00l?3`3Ng]h02`/;06a/K00=3@d0GemO06IVIP0S8b<0 -_;bl0=3@d02RXZ80bLW90=?Cd`061PH0Bd];04e=C@3Xj>P010@40:n_[`35aLD0QhN70820P012@T80 -RHV9061PH02OWil00@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 -0@0100400@0100400@0100400@0100400@0000400@0100400@0000400@0100400@0000400@010040 -0@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@0100400@010040 -0@010000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000000Y7Mg -MgMgMgMgMgMgMgJT0@410@410@411@06 -0@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@410@41A`2B0@410@41 -0@410@410HHIX5<10@410@410@410@0000010@410@410@410@410IT0TP410@410@410@410@410@41 -0@410@41G00=0@410@410@410A<09@410@410@410@410@410D00SP410@410@410@D01P410@410@41 -0@5d08l10@410@410@410@410@6@09410@410@410@T02P410@410@410DL0TP410@410@410@410IfG -08BN0@410@410@410@4000000@410@410@410@410@4?06a=0@410@410@410@410@410@410@410E`0 -3@410@410@410@4C02D10@410@410@410@410@5008h10@410@410@4500H10@410@410@41M02?0@41 -0@410@410@410@41T02A0@410@410@4900X10@410@410@5709810@410@410@410IbE000e:P410@41 -0@410@41000000410@410@410@410@417IX0V`410@410@410@410@410@410@410@5L00d10@410@41 -0@414`0U0@410@410@410@410@41@02>0@410@410@411@060@410@410@410G@0S`410@410@410@41 -0@410I00T@410@410@412@0:0@410@410@41A`2B0@410@410@410H600000R@410@410@410@410@00 -00010@410@410@410@410@4309P10@410@410@410@410@410@410@41G00=0@410@410@410A<09@41 -0@410@410@410@410D00SP410@410@410@D01P410@410@410@5d08l10@410@410@410@410@6@0941 -0@410@410@T02P410@410@410DL0TP410@410@410DdF3@0009T10@410@410@410@4000000@410@41 -0@410@410@41=2jE>P410@410@410@410@410@410@410E`03@410@410@410@4C02D10@410@410@41 -0@410@5008h10@410@410@4500H10@410@410@41M02?0@410@410@410@410@41T02A0@410@410@49 -00X10@410@410@5709810@410@410@6FU@0009NA0@410@410@410@41000000410@410@410@410@41 -0@4F08d10@410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@410@410@410@41@02> -0@410@410@411@060@410@410@410G@0S`410@410@410@410@410I00T@410@410@412@0:0@410@41 -0@41A`2B0@410@410@4X6@00002CU0410@410@410@410@0000010@410@410@410@410@4160230@41 -0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@632@T92H@0C0T92@V50@41 -0@D01P410@41QT10@40@08M0@410>P410@41H410@41I08Q0@410I@410@T02P410@4g2@T9RHX01da< -C4b;0@6<90000000:@410@410@410@410@4000000@410@410@410@410@410@PT;gl10@410@410@41 -0@410@410@410E`03@410@410@410@4C02D10@410@410@41P000000000000000?P410@4500H10@41 -0F<000000000000008410@410F`000000000000005d10@4900X10@41PP00000000000000MP417GV0 -;`0001l10@410@410@410@41000000410@410@410@410@410@41M01X0@410@410@410@410@410@41 -0@5L00d10@410@410@414`0U0@410@410@410GEfMWIfMWIfMV]gMf@10@411@060@410@5hNGUiNGUi -NGUiNGTZ0@410@5jNGUiNGUiNGUiNGUk0@412@0:0@410GagMgMgMgMgMgMgMgd10@41:00_53=n0@41 -0@410@410@410@0000010@410@410@410@410@410Fl0L0410@410@410@410@410@410@41G00=0@41 -0@410@410A<09@410@410@410@410@410@410@410@410@410@D01P410@410@410@410@410@410@41 -0@410@410@410@410@410@410@T02P410@410@410@410@410@410@410Al0LG8=L`410@410@410@41 -0@4000000@410@410@410@410@410@4AJ@1Z0@410@410@410@410@410@410E`03@410@410@410@4C -02D10@410@410@410@410@410@410@410@410@4500H10@410@410@410@410@410@410@410@410@41 -0@410@410@410@4900X10@410@410@410@410@410@410F/0K6d1KR<10@410@410@410@4100000041 -0@410@410@410@410@410FH0>0410@410@410@410@410@410@5L00d10@410@410@414`0U0@410@41 -0@410@410@410@410@410@410@411@060@410@410@410@410@410@410@410@410@410@410@410@41 -0@412@0:0@410@410@410@410@410@410@5W06P10@410@410@410@410@410@0000010@410@410@41 -0@410@410@5R06=T0@410@410@410@410@410@41G00=0@410@410@410A<09@410@410@410@410@41 -0@410@410@410@410@D01P410@410@410@410@410@410@410@410@410@410@410@410@410@T02P41 -0@410@410@410@410@410@4Ec/k ->c/k>dL10@410@410@410@410@410@410@412@0:0@410@410@410@410@58;TTU0@410@410@410@41 -0@410@410@410@000@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@41 -0@410C`o?c<0@3m10@410@410@410@410@410@410@410@410@D01P410@52000000000000000@0@41 -0@410@410@410@410@410@410@T02P410@410@410@410@41@`140@410@410@410@410@410@410@41 -0@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@400P410@410@4h;`00 -000=>@410@410@410@410@410@410@410@410@4500H10@41>S/k>c/k900f>c/k?0410@410@410@41 -0@410@410@410@4900X10@410@410@410@41?@de?P410@410@410@410@410@410@410@4100010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@413bT00000=C@10@41 -0@410@410@410@410@410@410@411@060@410@410@410@L020410@410@410@410@410@410@410@41 -0@412@0:0@410@410@410@410CH0=`410@410@410@410@410@410@410@410@000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410B0Y000000h10@410@410@410@41 -0@410@410@410@410@D01P410@410@410@4700P10@410@410@410@410@410@410@410@410@T02P41 -0@410@410@410@PIP0000000000/08/>P00000004U38D0700`000000000:T0002@0000H0000/08/>P0000000000 -/08/>P00000004U3:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 -0020?`00000000000020?`00000000009T00010000040000000002E0000@000010000000000O@0<0 -30000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o000000000000080o -?PlgA28a64@4@00030000000000Q0000200001`000080000B`000400000`00001@00020000010000 -0@00010000000000000003@400380P0000000000000d1000b08002@0000T00000020?`0000000000 -0020?ch?=d@R:>^2?^W/900000000000000000000000000000000V8@000040000?0000M0400K1If`P00000 -/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0 -000001`D0@50F]/8000Q/`0D000Q00005Wl10CXD003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g -00000=9]PWLj5740>Q@4L@00100Q/`40>QAaoooooonh400017440;P@0000000071@Q/c0@00015CDH[ -:T0002@0000H00000020?`00000000000020?ch?=d@R:>^2?^W/900000000000000000000000000000000V -8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f -9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8000Q/`0D000Q00005Wl10M0P003Pfdl0 -b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWO@88T0d204R@00100Q/`40d229oooooonh4000 -18T40;P@0000000071@Q/jP@00015CDH[:T0002@0000H00000020?`00000000000020?mYG4T@hPAQ4 -:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H00000020?`0000000000 -0020?`00000000009T00010000040000000002E0000@000010000000000O@0<030000000000N@0T0 -30000000000Q@0L030000000000Z@000900001P00000080o000000000000080ofULBA3U744<4@000 -30000000000Q0000200001`000080000B`000400000`00001@000200000100000@00010000000000 -000003@400380P0000000000000d1000b08002@0000T00000020?`00000000000020?mYG4T@iAa13 -0P0000`0000@000000000000000:00004000000000000000DP00070100010000Roooo`0000000000 -000009010000000010048T<0H@1/06T0HP1b06T00000000000000020ID0000000016@>:>^2?^W/90 -0000000000000000000000000000000V8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 -W5D8M`00003/0]/80@000000001_=C]f9P0002H002HHIM/8000002400024fdl0000001`D0@50F]/8 -000Q/`0D000Q00005Wl10H000050000000000@00005000 -\>"], "Graphics", - ImageSize->{216., 142.33526011560696`}, - ImageMargins->{{63, 0}, {0, - 10}},ExpressionUUID->"2447e6a4-aa68-4d51-ae16-1b323b958d07"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A1max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A3max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.804857151598798*^9, { - 3.805012937157796*^9, 3.8050129373557386`*^9}}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8044075318156013`*^9, 3.80440753526867*^9}, {3.804409102496915*^9, - 3.804409145786024*^9}, {3.8050110702658997`*^9, 3.8050110753136415`*^9}, { - 3.805011228832715*^9, 3.8050112471646976`*^9}, {3.8050114843293805`*^9, - 3.8050114876341295`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, - 3.804780356852764*^9, 3.8047804432985935`*^9, 3.804833366652175*^9, { - 3.8050110372495503`*^9, 3.805011038352714*^9}, {3.8050112518968697`*^9, - 3.8050112532946024`*^9}, {3.805011490669119*^9, 3.8050114918709445`*^9}, { - 3.8050171017558465`*^9, - 3.8050171041087675`*^9}},ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-\ -4695ea7860b0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"0.01", " ", "2", " ", "Pi", " ", ".001"}]], "Input", - CellChangeTimes->{{3.80424510995311*^9, 3.804245121593105*^9}}, - ExpressionUUID -> "1bb0169e-ac59-4ca5-b9d0-2fdfb3b63de6"], - -Cell[BoxData["0.00006283185307179587`"], "Output", - CellChangeTimes->{ - 3.8042451228318253`*^9, 3.8042463879928055`*^9, 3.804249329761356*^9, - 3.804250050285133*^9, 3.8042502432500887`*^9, 3.8042738050909276`*^9, - 3.8044087362965755`*^9, 3.804408772978503*^9, 3.804409227785515*^9, { - 3.804409486761858*^9, 3.8044095145331564`*^9}, 3.804409761765826*^9, - 3.804411871463109*^9, 3.804418379796156*^9, 3.8045949552593627`*^9, - 3.8047802907359624`*^9, 3.804833616641309*^9, {3.8048336624610453`*^9, - 3.804833674727394*^9}, 3.8048341376988363`*^9, {3.804854012800379*^9, - 3.8048540153507495`*^9}, 3.804856291529182*^9, {3.8048571575326767`*^9, - 3.8048571759187107`*^9}, 3.8049203172916994`*^9, 3.8050121161228514`*^9, - 3.8050122307269945`*^9, 3.8050123159040356`*^9, 3.8050124443014803`*^9, - 3.8050129604927225`*^9}, - ExpressionUUID -> "10453b72-67aa-4296-bc81-0e9902a66aba"] -}, Open ]] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", "xin"}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, { - 3.80501290805445*^9, 3.805012911450751*^9}}, - ExpressionUUID -> "d70a4776-ad94-476e-8fa5-8741e899e99a"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, {3.8050115008525534`*^9, - 3.805011506838086*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804273643263855*^9, 3.8042736741180277`*^9}, {3.8042737296537404`*^9, - 3.80427378317953*^9}, {3.804837407948556*^9, 3.8048374437226553`*^9}, - 3.8048538335782475`*^9, {3.8048561835515623`*^9, 3.804856184311777*^9}, { - 3.8050112706955223`*^9, 3.8050112802454453`*^9}, {3.8050115089375334`*^9, - 3.8050115294029164`*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["\<\ -The flow at inlet and outlet are equal but with opposite sign.\ -\>", "Text", - CellChangeTimes->{{3.803634260546183*^9, - 3.8036342655113525`*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { - 3.804594781346759*^9, 3.804594790496318*^9}, 3.8047802373415995`*^9, { - 3.804780374639415*^9, 3.804780375112926*^9}, {3.8047804442865725`*^9, - 3.8047804446791687`*^9}, {3.8050110911671767`*^9, 3.805011092535286*^9}, { - 3.805011288694769*^9, 3.805011290232191*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { - 3.80459478532765*^9, 3.804594792557191*^9}, 3.804780261724927*^9, { - 3.8047803760779314`*^9, 3.804780376705285*^9}, {3.8047804451396933`*^9, - 3.8047804456162024`*^9}, {3.805011093255788*^9, 3.8050110946040335`*^9}, { - 3.805011290999591*^9, 3.8050112923130174`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, 3.8047804526739225`*^9}, { - 3.805011095983277*^9, 3.8050111010313435`*^9}, {3.805011292970425*^9, - 3.8050113217262278`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, {3.804408679085424*^9, - 3.804408681225698*^9}, 3.8044089502809315`*^9, {3.804409661322097*^9, - 3.8044096855882535`*^9}, {3.8045948046057634`*^9, 3.804594804693672*^9}, - 3.80478023955132*^9, {3.8047803811626873`*^9, 3.8047803815213165`*^9}, { - 3.804780492132221*^9, 3.80478049262671*^9}, {3.8050111019576902`*^9, - 3.80501110325788*^9}, {3.8050115439344234`*^9, 3.805011545952819*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, {3.8044084716303983`*^9, - 3.8044084760494843`*^9}, 3.804408953895039*^9, {3.804409689683548*^9, - 3.8044096936388044`*^9}, {3.8044097370500917`*^9, - 3.8044097460218477`*^9}, {3.80459480857367*^9, 3.8045948087125273`*^9}, - 3.8047802635790143`*^9, {3.8047803820917273`*^9, 3.8047803824593487`*^9}, { - 3.804780493277048*^9, 3.8047804936516533`*^9}, {3.8050111039747705`*^9, - 3.8050111079207964`*^9}, {3.8050115470502534`*^9, 3.8050115485382495`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}}, - CellLabel-> - "In[181]:=",ExpressionUUID->"3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"b7ccc7a9-2c6a-4c2f-bb04-\ -1416404e4b75"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8047803998584023`*^9, - 3.8047804026105633`*^9}, {3.804780457607833*^9, 3.804780461129202*^9}, { - 3.8047804987564015`*^9, 3.804780503015994*^9}, {3.805011114714238*^9, - 3.8050111295134583`*^9}, {3.805011333425437*^9, 3.8050113618850327`*^9}, { - 3.8050115584064455`*^9, 3.8050115957006264`*^9}, 3.805012216622799*^9}, - CellLabel-> - "In[182]:=",ExpressionUUID->"42162839-eb01-48e9-84d7-0fc97cb6b46b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{"-", "dE12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, 3.804411848555447*^9, {3.8045948487202587`*^9, - 3.8045948871586123`*^9}, {3.8047804062308292`*^9, - 3.8047804083666253`*^9}, {3.804780461658656*^9, 3.8047804724565163`*^9}, { - 3.8047805039320483`*^9, 3.80478050712076*^9}, {3.805011135385275*^9, - 3.8050111888274155`*^9}, {3.805011369897328*^9, 3.8050114036517487`*^9}, { - 3.80501159749813*^9, 3.8050116519407153`*^9}, 3.805012208699327*^9, - 3.805012298321695*^9, {3.805012436101864*^9, 3.8050124362086816`*^9}}, - CellLabel-> - "In[186]:=",ExpressionUUID->"cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179141015143`*^9, - 3.8050179155584116`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], " ", ")"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.804780412088786*^9, 3.80478041378204*^9}, { - 3.8047804734135294`*^9, 3.804780474912983*^9}, {3.8047805078819747`*^9, - 3.804780509386422*^9}, {3.8050111900595064`*^9, 3.8050111917774158`*^9}, { - 3.805011405074374*^9, 3.805011407986704*^9}, {3.8050116616436462`*^9, - 3.805011664682269*^9}}, - CellLabel-> - "In[187]:=",ExpressionUUID->"096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "dE2", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p1", ",", "p3"}], "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8044118674979453`*^9, {3.804780414746047*^9, 3.804780415422347*^9}, { - 3.8047804758070602`*^9, 3.8047804763754745`*^9}, {3.8047805104413366`*^9, - 3.804780511078678*^9}, {3.805011192967698*^9, 3.8050111957910957`*^9}, { - 3.805011409214732*^9, 3.805011428712307*^9}, {3.805011665920613*^9, - 3.8050116688192434`*^9}}, - CellLabel-> - "In[188]:=",ExpressionUUID->"d0fd5e21-ca24-4c01-854a-da62dcff5fd1"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text",ExpressionUUID->"42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm2", "==", - RowBox[{"qm12", "+", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm1", "\[Equal]", - RowBox[{"-", "qm12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", "\[Equal]", - RowBox[{"-", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044091839008274`*^9, 3.8044092066086245`*^9}, {3.804411854991186*^9, - 3.8044118567075424`*^9}, 3.8047804163633785`*^9, {3.8047804776161957`*^9, - 3.804780479625121*^9}, {3.8047805126140947`*^9, 3.804780514536111*^9}, { - 3.80501120050368*^9, 3.805011205428906*^9}, {3.8050114327236843`*^9, - 3.8050114372752333`*^9}, {3.8050116738226986`*^9, 3.805011678641271*^9}}, - CellLabel-> - "In[189]:=",ExpressionUUID->"52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellLabel-> - "In[190]:=",ExpressionUUID->"f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{974, 392}, -WindowMargins->{{Automatic, 268}, {67, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "1ec93163-91ed-41a0-ad0b-6c312ebc703d" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 328, 5, 70, "Section"], -Cell[CellGroupData[{ -Cell[932, 31, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1290, 39, 740, 14, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[2045, 56, 639, 9, 30, "Output"], -Cell[CellGroupData[{ -Cell[2709, 69, 484, 11, 30, "Input"], -Cell[3196, 82, 1553, 21, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[4786, 108, 1588, 33, 183, "Input"], -Cell[6377, 143, 1828, 27, 30, "Output"] -}, Open ]], -Cell[8220, 173, 272, 6, 30, "Input"], -Cell[CellGroupData[{ -Cell[8517, 183, 98, 0, 49, "Subsection"], -Cell[8618, 185, 793, 13, 68, "Text"], -Cell[9414, 200, 21850, 272, 161, "Graphics"], -Cell[31267, 474, 2181, 47, 183, "Input"], -Cell[33451, 523, 699, 14, 69, "Input"], -Cell[34153, 539, 1840, 39, 164, "Input"], -Cell[35996, 580, 1410, 26, 107, "Input"], -Cell[CellGroupData[{ -Cell[37431, 610, 200, 3, 30, "Input"], -Cell[37634, 615, 900, 13, 30, "Output"] -}, Open ]] -}, Open ]], -Cell[CellGroupData[{ -Cell[38583, 634, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[38731, 638, 323, 6, 30, "Input"], -Cell[39057, 646, 373, 7, 30, "Text"], -Cell[39433, 655, 1216, 30, 90, "Input"], -Cell[40652, 687, 214, 5, 30, "Text"], -Cell[40869, 694, 191, 4, 30, "Input"], -Cell[41063, 700, 1244, 28, 76, "Input"], -Cell[42310, 730, 1243, 28, 76, "Input"], -Cell[43556, 760, 1946, 47, 94, "Input"], -Cell[45505, 809, 1341, 29, 76, "Input"], -Cell[46849, 840, 1405, 30, 76, "Input"], -Cell[48257, 872, 2040, 48, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[50334, 925, 159, 3, 53, "Subsection"], -Cell[50496, 930, 2181, 61, 296, "Input"], -Cell[52680, 993, 291, 4, 34, "Text"], -Cell[52974, 999, 2193, 55, 124, "Input"], -Cell[55170, 1056, 3809, 65, 304, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[59016, 1126, 162, 3, 53, "Subsection"], -Cell[59181, 1131, 1455, 31, 105, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[60673, 1167, 174, 3, 53, "Subsection"], -Cell[60850, 1172, 1199, 21, 28, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[62086, 1198, 88, 0, 53, "Subsection"], -Cell[62177, 1200, 146, 2, 34, "Text"], -Cell[62326, 1204, 1116, 22, 143, "Input"], -Cell[63445, 1228, 146, 3, 28, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve42.hpp b/devPneumatic/PneumaticValve42.hpp deleted file mode 100644 index a0ef2b3..0000000 --- a/devPneumatic/PneumaticValve42.hpp +++ /dev/null @@ -1,1125 +0,0 @@ -#ifndef PNEUMATICVALVE42_HPP_INCLUDED -#define PNEUMATICVALVE42_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve42.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:57:34 -//! @brief Pneumatic 42-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve42.nb*/ - -using namespace hopsan; - -class PneumaticValve42 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpP4; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - double delayParts13[9]; - double delayParts14[9]; - double delayParts15[9]; - double delayParts16[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[16]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port P4 variable - double p4; - double qm4; - double T4; - double dE4; - double c4; - double Zc4; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double qm14Pos; - double qm14Neg; - double qm34Pos; - double qm34Neg; - double Ng32e; - double Ng12e; - double Ng34e; - double Ng14e; - double Bfe; - //LocalExpressions variables - double kappa; - double Kg; - double Ndenom; - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port P4 pointer - double *mpP_p4; - double *mpP_qm4; - double *mpP_T4; - double *mpP_dE4; - double *mpP_c4; - double *mpP_Zc4; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpqm14Pos; - double *mpqm14Neg; - double *mpqm34Pos; - double *mpqm34Neg; - double *mpNg32e; - double *mpNg12e; - double *mpNg34e; - double *mpNg14e; - double *mpBfe; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - Delay mDelayedPart90; - Delay mDelayedPart100; - Delay mDelayedPart110; - Delay mDelayedPart120; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve42(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(16,16); - systemEquations.create(16); - delayedPart.create(17,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpP4=addPowerPort("P4","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - qm14Pos=stateVark[4]; - qm14Neg=stateVark[5]; - qm34Pos=stateVark[6]; - qm34Neg=stateVark[7]; - dE2=stateVark[8]; - dE4=stateVark[9]; - dE1=stateVark[10]; - dE3=stateVark[11]; - p2=stateVark[12]; - p4=stateVark[13]; - p1=stateVark[14]; - p3=stateVark[15]; - //Expressions - qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ -qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm3 = qm32Neg*onNegative(-p2 + p3) + qm34Neg*onNegative(p3 - p4) - \ -qm32Pos*onPositive(-p2 + p3) - qm34Pos*onPositive(p3 - p4); - qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm34Neg*onNegative(p3 - p4) + \ -qm14Pos*onPositive(p1 - p4) + qm34Pos*onPositive(p3 - p4); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - Ng34e = onNegative(p3 - p4)*(onNegative(-Bf + p3/p4) + onPositive(-Bf \ -+ p3/p4)*signedSquareL(1 - Power(-Bf + p3/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p3 - p4)*(onNegative(-Bf + p4/p3) + onPositive(-Bf + \ -p4/p3)*signedSquareL(1 - Power(-Bf + p4/p3,2)/Power(1 - Bf,2),eps)); - Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ -+ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ -p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); - Bfe = Bf; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - delayedPart[13][1] = delayParts13[1]; - delayedPart[14][1] = delayParts14[1]; - delayedPart[15][1] = delayParts15[1]; - delayedPart[16][1] = delayParts16[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port P4 - (*mpP_p4)=p4; - (*mpP_qm4)=qm4; - (*mpP_dE4)=dE4; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpqm14Pos)=qm14Pos; - (*mpqm14Neg)=qm14Neg; - (*mpqm34Pos)=qm34Pos; - (*mpqm34Neg)=qm34Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - (*mpNg34e)=Ng34e; - (*mpNg14e)=Ng14e; - (*mpBfe)=Bfe; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE42_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve42.nb b/devPneumatic/PneumaticValve42.nb deleted file mode 100644 index 5e96d41..0000000 --- a/devPneumatic/PneumaticValve42.nb +++ /dev/null @@ -1,2151 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 101615, 2143] -NotebookOptionsPosition[ 97866, 2036] -NotebookOutlinePosition[ 98519, 2058] -CellTagsIndexPosition[ 98476, 2055] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve42", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, - 3.8048574830449095`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{3.8045956967664948`*^9, 3.8045988882774363`*^9, - 3.804599021844661*^9, 3.804757553946481*^9, 3.8047576859049883`*^9, - 3.8048377732989707`*^9, 3.8048378209927735`*^9, 3.8048379130278387`*^9, - 3.804853738418406*^9, 3.804857181747699*^9, 3.804920337376981*^9, - 3.8049212832728124`*^9, 3.8049213813076887`*^9, 3.805014808070986*^9, - 3.805014992970668*^9, 3.8050243175592833`*^9}, - ExpressionUUID -> "439b81bd-ad7d-4618-ba96-da8feb512e81"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9, 3.805455735116706*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9, 3.8054557323076034`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { - 3.8056279283427267`*^9, 3.805627940763915*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "57", ",", - "30.7425744`9.240315140078138"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { - 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, - 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, - 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, - 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, - 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, - 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, - 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, - 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, - 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, - 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { - 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, - 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, - 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, - 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, - 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, - 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, - 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, - 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, - 3.8055296122630434`*^9, 3.805529852446294*^9, 3.8056246508534603`*^9, - 3.805627940763915*^9}, - ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, - 3.8056279407649145`*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. It \ -opens between pressure port (1) and load port (2) and between the load port \ -(4) and return (3) when the input signal it is one. The opening is \ -proportional to the input signal. At zero input signal it opens the load port \ -(2) to the return port (3) and between the pressure port (1) and load port \ -(4). The opening is proportional to the input signal. There is no valve \ -dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9, {3.8050237813496456`*^9, - 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ -62f88b1104a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003Xl0@0006`0000000008@0002H300250P00 -oOoooogoooof3@00f@/00215CDH00040?3X005H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000a0/00;P;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000041CA010P0000000000/08/>P00000004m3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0; -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000T>BDA1E7RLkIaY -B5A]56QEUIdD9kJX/F@AmJ;JCD5RB/J;?ED>Y;ZI6d6V55:56IA:^U]=]> -9EYY=ITfj]cWoF0=CFhcc^dM7O_1@3icWW=>0Z:RXNVfZZj_YfK_en_E[O7emnOciLh=fSXj>08ZF90:;>G;T2>WYjKI>XdhL71b8Shl7H=>VCKaooehF_lnO?fO@X46X -E2[Lg=`J]:f^[PIn7UgfR5j_ilZE:iBGUo?P`@=KYeTB:YD:BI8hMnjL[M>YUggkmZ5FZdU;Bn?:UB]=m_?P`@>2PX8X;2c4gMfMh>1P/nOJ -[@R>7cn>CZM3[mMcm>QAFjMC;kejmF;il^D0A4A464oAUW3WcQd20P8X:RX2JWiZo?clc9i_Ub8@@Y2A -TH4@0ZPiCGkil/G6FMG?n_G[lOCdi>73QncO_mnR^CTi>H`O?ajMCVLL6cil^4Dnk584]foO=SVRE2XE -FEUI=/bXHEaMGMVnOC/0/K6aaR>jCVI6cM^e6^KUiO7m>WCCLh0_o3alJ5]fkHFaKHk4KahlJ;>3`MZ;Z2JJgLR>7gj=9FEUKG6bl_;bLS8/456U[5ahdHjMniWAP -biH]0:aI/jKN/mZaHlO8bLU1Xm5`nO9Uk]noCeaL7;jn__mW^_lkFT1X]EYQ;]kNgP8@KmjlOBaJ -]4P08R4QXE7K7C]f2414ADDe:IK1H13no_h24<^F;J_eOTE5QNSN_K/0a8H=6iXD@`PQ044;^h7DJU0Z -UB@U9J5D:SU`h01iNGTVknoL^I?G[eoC]F]GEZeJIGdlZcglhjl`L>105RaHP<5P828R`]Sh:Rh^=]jU -g;im>bh^;UK7nRN2I/bfKM]`MgOWf[E[Y:FU0CGG2CZMSR53QSBY4ZR;Ob9Xa[Rk^a73:1@:M^kLRD8QciZPOb9XiRaI/XAnoOYAG5a@420K34L0Co0/VJcKO20VWZo=N7P -h41BDQ:1PH6lNoL>]E[=i/fKIHgQ26@37FGenQNAJ`E>Bf;@X46h^;Q@EUJ6UiLG?Shn/_Ygi:L0]VgK -9Y_CahlOTiZJRXn?3d^G;YG5If5Q8DU9BLfjoongf;E[5fEUIBREBUjnO@8@g]kNXZb/c6[Oo:eVDFUY:FO?WTFY -E;:: -X:2PP5^gK]6nOG^VCYdZYn]FajUCYlS>cTJSdM@Z2OO/fH>;R`^IVIVb[:BFE@C9bLT0c9Xe2he68jO[ -ETEUIBE[ejh582HVQVkM^YVlkng]KMbW41TIJK:D[RW89P99TXcmKG_i:BP^;RHg=iOLg5`nO_`8`=^g -KheSObiQTh_M^gOco?Uc_;blR8j>[]b/XB3Ph?Xf;6SD:_E0Q3>c/jRGK]fXT>73/9P<=@iciXB/KRhF;A_geh0h_3Q``gJIVAT63nC^gO_ -RYD[EhZUBiNJ7N_GMnmX]HAnl_/5XE`g=Vc=b94SDJ_EU9JF6/O:bl]A:1CI?UOj7@jcY`iPd:Q82`/C0jGc@8W9bLV -C9Q@j`=eMGFeJ:nO^OaN4RHT93@X/ZM?Wc9ahTCS?/^:RPZZZZZX[ZhV?mnb7ObbR>34RA>DUiLC51A4 -Sahmi73IK0P?3lOEeMETC:oG?Aj_LWH`843J`W3F];CdkUhlB8JSHJ]FkLfJ^oYjLW=VcOamOG5`L71>2j4h3VcI_djM?7A0PU9BGe[U:^2j]5 -T9:BPQ22d=1@RgNn]1CVcI]Wk7/X50XVCIXTZolmNoK`k=Tc?3dmRHV9/FR^Vi/KejmOAj_EXU:YP9Y[ -]0/G;YS]`bXA224hL^@8H9lo1KnH?7Tb1X<1P2iM^]2mNgOIO7ohl<5hn]nbID^C3ZBfKM]bmNYE]5X] -KMZdXJ:R`_RmV8=E8/S>c^KUbiMdjmK=h^g@;@Tg=cNdFRe:YE;fnoRa/K5loOZEo_gkOWLnS@8H16Bd9cD:_EI6EU3P02@T903_knl010@404U9B@0C4a<0[:b/00d=3@3Ti>@0fm_K01@D500Z:RX0 -n?Sh00T92@3Cdm<0B4Q805]KF`3GemL06QXJ00820P20P800][Jf00l?3`071`L0QhN70=[JfP2o_kl0 -61PH01DE5@1OGel00@4102h^;P0[:b/0no_k0<_;b`0>3Ph0o_kn014A4@061PH0l_;b09:BTP32`/80 -EUIF0SX`3WinL0_[jn0;:b/P1fMWH01@D505ADE00o?cl0Hf=S0;Bd]03clo<0 -7AdM0?gmo@37alL0clo?038bk^kP2JVYX0 -5QHF05QHF01>CTh0Vi^K018B4P3/k>`0YjNW0>7Qh@3YjNT0SXj>03Lg=`1[Jf/0moOg020P8021PH40 -c3P`0L71`0m?Cd06ATI00k>c/0j>SX061PH00h>3P0Ti>C01LG5`34a<@0;bl_05aLG00V9RH0 -2`/;08R8R00N7Qh0KVi^08F5Q@2[Zj/0FEUI0>g]k@3Shn<0HV9R0?[jnP0/;2`0O7al09FEU@33`l<0 -_;bl0=WIf@0f=SH0De=C04M7A`3fm_H0h^;R0;>c/`1hN7P0nOWi07moO`22PX808b079bLP1ZJVX0FUYJ0492@P0I6AT0lO7a0=kNgP2^[Zh0 -f=SH04Y:BP14A4@0iNGU07YjNP0l?3`0XJ6Q0?Gem@0j>SX0ADE507emO@1nOWh0gmoO0:2PX00820P0 -7alO06EUI@0aP410@410@41003o>eX000410@410@410@410@41 -WBYbA0410@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@41Z000 -0@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 -0@410@410FUSHhl026=SO0410@411`080@410@410@410@410B@0T6H10@410AQa09410@410@410@41 -0@41002HD>/000410@410@410@410@410@41R@040@410@410@410@410@410@410@5801T10@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410HX=08/10@410H`0 -SF010@410@410@410@410009`eX000410@410@410@410@410@41PP0RQP410@410@410@410@410@41 -0@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -0@5g01T<0@41Qg80R0410@410@410@410@41002J9:/000410@410@410@410@410@410H<0FP410@41 -0@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 -0@410@410@410@410@41@@0L0@41Q0250@410@410@410@410@41001Bm_/000410@410@410@410@41 -0@410Gl06`410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@41B1lZP06103:20@410@410@410@410@41002EBTD00041 -0@410@410@410@410@410GTS7gX10@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410@410G/0GWam07h10@410@410@410@41 -0@410000000000410@410@410@410@410@410@5000/10@410@410@410@410@410@5801T10@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410FT_07P0AFH1 -0@410@410@410@410@410000000007=cLg=cLg=cLg=cLg=cLg=cLg00:0@410@410@410@410@410@41000000000@0100000@0100400001 -00400@0000400@0100000@0100400001004007410@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@410@5^:P0SF`410@410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410@410@U_06D0L0410@410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410F`0KCDO:Vh1 -0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4100810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -0@41FA40>P5Z06/`0@410@410@410@410@41000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4000810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 -0@410@410@410@410@41I`1X<05Y;`030@410@410@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@5S7e180@41I01UIP410@410@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410DIN05l10@41H640HP410@410@410@41 -0@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 -=5EEB`1FE@L10@410@410@410@410@D01P410@410@411`080@410@410@410@410EL0F5T10@410EX0 -6E]LG@410@410@410@41000000010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4000810@410@412`l00000D5410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -DRP0D`410@410@5?00YD;aD10@410@410@41000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4100810@410@41BT/000004cL10@410@410@410@410@D01P410@410@411`08 -0@410@410@410@41C01=AP410@410Di?0000?`L10@410@410@41000000010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410DD000004dH10@410@410@410@410@D0 -1P410@410@411`080@410@410@410@4J3am70@410@41B3l0000004T10@410@410@41000000010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410Cho0000@0410@41 -0@410@410@410@D01P410@410@411`080@410@410@410C1104810@410@410D@410@410@410@410@410@D01P410@410@411`080@410@410@410CX0;c/10@410@410@4l -5P0001P0000000000/08/>P00000004m3 -8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000004m3:T0002@0000H0000 -0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 -9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 -30000000000Z@000900001P00000080o000000000000080oc56D@4@00030000000000Q0000 -200001`000080000B`000400000`00001@000200000100000@00010000000000000004d3003=0P00 -00000000001=0`00c@8002@0000T00000020?`00000000000020?c993DC/aAU40P0000`0000@0000 -00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 -10048T<0H@1/06T0HP1b06T000000000000000000030ib]100000000000000000000000000000000 -00000<3W:d400040000004d000000000:>5?014000040000V>M?05SRC`10X;1gDJf;nokoooo0hDl0 -ck2/Me`2001X0P00f0?j2@00042LECAgGcDdMO5k8AeLhDl00H0006le=7D000000000000000000000 -Z1GgSXcQC`3X2cAelG/Q7@008@3aNb4MlG/001cRC`2fOS9e3gd00>SQC`3PDoX9c>=?00T000020000 -00000=9]/GL?OI`03gd4W00010000?oo3gfLoooooool2P0019`406@000000000:87j2B0:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GNF?Kl0 -USd4_`0010000?ooUSfooooooool2P001;l406@000000000:87j2K0:[`1c56D@4@00030000000000Q0000200001`000080000B`000400000`0000 -1@000200000100000@00010000000000000004d3003=0P0000000000001=0`00c@8002@0000T0000 -0020?`00000000000020?j7PSQC`3PDoX9c>=?00T00002000000000=9]/GMZMh/0JWL4R`0010000?oo -JWN;oooooool2P0018/406@000000000:87j2FP:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GL?OJ003gd4X00010000?oo3gfPoooooool2P00 -1:0406@000000000:87j2B0:[`1000050000000000@0000 -5000 -\>"], "Graphics", - ImageSize->{185., 156.4338235294117}, - ImageMargins->{{74, 0}, {0, 7}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, - 3.8055253268748503`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, - 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, - 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf14", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf34", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { - 3.805455158947027*^9, 3.805455179490837*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf34", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, - 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { - 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, - 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { - 3.8055275203538437`*^9, 3.8055275229851294`*^9}}], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { - 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, - 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, - 3.805529803320966*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { - 3.805529804336918*^9, 3.805529805264961*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, - 3.80552980857155*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, - 3.8055269059685616`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { - 3.8055269247042356`*^9, 3.805526925551361*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U - - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng34Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, - 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng34Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, - 3.805526943719621*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng34Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng34Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, - 3.805529825723857*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell["New equations", "Text", - CellChangeTimes->{{3.805524947233452*^9, 3.8055249549494934`*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, 3.8055264099145555`*^9, {3.805526577594593*^9, - 3.8055265785376205`*^9}, {3.8055271226870155`*^9, 3.805527123869795*^9}, - 3.805527740537723*^9}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, 3.805526409916554*^9, - 3.805526579778341*^9, {3.805527124670969*^9, 3.80552712535826*^9}, - 3.80552774054072*^9}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, - 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { - 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, - 3.8054538803995576`*^9}, {3.805527641611766*^9, 3.805527645459796*^9}, - 3.805529598322423*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, - 3.8055263349039297`*^9, 3.8055266140100307`*^9, {3.8055268414833913`*^9, - 3.805526842481363*^9}, 3.8055270864154296`*^9, 3.8055296089434676`*^9}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, 3.805526328338702*^9, 3.805526614013027*^9, { - 3.8055268433864284`*^9, 3.8055268441995883`*^9}, 3.805527086420425*^9, - 3.805529608946464*^9}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805527683510547*^9, 3.805527693371375*^9}, {3.805529507535071*^9, - 3.80552951191755*^9}, 3.8055296089484615`*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055249814321766`*^9, 3.8055249829356265`*^9}, 3.805526364135778*^9, - 3.8055266227879753`*^9, 3.8055277773247786`*^9, {3.805527870193982*^9, - 3.8055278767632055`*^9}, 3.8055297742309713`*^9}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805524983864667*^9, 3.8055249846158924`*^9}, - 3.8055263641387744`*^9, 3.8055266227909737`*^9, 3.805527777326775*^9, - 3.805527876765204*^9, 3.80552977423297*^9}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, - 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { - 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, - 3.8054538803995576`*^9}, {3.8054553818650866`*^9, - 3.8054554005118523`*^9}, {3.805527833475857*^9, 3.805527843570444*^9}, - 3.8055295212149596`*^9, 3.8055297742359667`*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng34Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055249874229965`*^9, - 3.805524988247146*^9}, 3.8055263703683476`*^9, 3.80552669658885*^9, - 3.8055297742379646`*^9}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng34Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805524989111255*^9, 3.805524989927414*^9}, 3.8055263703743415`*^9, - 3.805526696590848*^9, 3.805529774238964*^9}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, 3.805529774240961*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, - ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Bf", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}, {3.8055256479961305`*^9, 3.8055256582105937`*^9}, - 3.8055256895792384`*^9, {3.8055257273223047`*^9, 3.8055257298656807`*^9}, - 3.8055259498950443`*^9, 3.8055260626667433`*^9, {3.8055261209216537`*^9, - 3.8055261237827024`*^9}, 3.8055271676386476`*^9, {3.8055272416423116`*^9, - 3.805527250725942*^9}, {3.8055274170813465`*^9, 3.805527443933647*^9}, { - 3.8055275137886157`*^9, 3.8055275142950935`*^9}, {3.805529845314649*^9, - 3.805529848927924*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}}, - ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE34", "=", - RowBox[{"qm34", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm34", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, - ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ -09172eb1a580"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - RowBox[{"Cf14", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - RowBox[{"Cf14", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Pos", "==", - RowBox[{"Cf34", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Neg", "\[Equal]", - RowBox[{"Cf34", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", - "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, - 3.805455634417577*^9}, 3.8054560708467517`*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179915385733`*^9, - 3.8050179925094385`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ -2783204ff18e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, - ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, - 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ -b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", - RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, - 3.805525497428443*^9, 3.8055260034368134`*^9}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{1120, 794}, -WindowMargins->{{Automatic, 256}, {39, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 378, 6, 70, "Section"], -Cell[961, 30, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1319, 38, 203, 3, 30, "Text"], -Cell[1525, 43, 599, 8, 30, "Output"], -Cell[2127, 53, 529, 12, 30, "Input"], -Cell[2659, 67, 788, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[3472, 86, 1833, 38, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[5308, 126, 3450, 50, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[8761, 178, 378, 8, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[9176, 191, 98, 0, 41, "Subsection"], -Cell[9277, 193, 1001, 16, 68, "Text"], -Cell[10281, 211, 20299, 253, 172, "Graphics"], -Cell[30583, 466, 2486, 53, 215, "Input"], -Cell[33072, 521, 646, 13, 69, "Input"], -Cell[33721, 536, 3248, 70, 297, "Input"], -Cell[36972, 608, 1647, 29, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[38656, 642, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[38804, 646, 230, 4, 30, "Text"], -Cell[39037, 652, 323, 7, 30, "Input"], -Cell[39363, 661, 376, 7, 30, "Text"], -Cell[39742, 670, 1953, 53, 170, "Input"], -Cell[41698, 725, 711, 14, 88, "Input"], -Cell[42412, 741, 249, 4, 30, "Text"], -Cell[42664, 747, 191, 4, 30, "Input"], -Cell[42858, 753, 1192, 25, 74, "Input"], -Cell[44053, 780, 1145, 24, 74, "Input"], -Cell[45201, 806, 1449, 42, 94, "Input"], -Cell[46653, 850, 1246, 26, 74, "Input"], -Cell[47902, 878, 1188, 25, 74, "Input"], -Cell[49093, 905, 2189, 50, 94, "Input"], -Cell[51285, 957, 1246, 26, 74, "Input"], -Cell[52534, 985, 1195, 25, 74, "Input"], -Cell[53732, 1012, 1454, 43, 94, "Input"], -Cell[55189, 1057, 1293, 26, 74, "Input"], -Cell[56485, 1085, 1240, 26, 74, "Input"], -Cell[57728, 1113, 2188, 50, 94, "Input"], -Cell[59919, 1165, 97, 1, 30, "Text"], -Cell[60019, 1168, 191, 4, 30, "Input"], -Cell[60213, 1174, 1239, 26, 72, "Text"], -Cell[61455, 1202, 1158, 25, 72, "Text"], -Cell[62616, 1229, 2083, 49, 93, "Text"], -Cell[64702, 1280, 1291, 26, 72, "Text"], -Cell[65996, 1308, 1235, 26, 72, "Text"], -Cell[67234, 1336, 2208, 50, 93, "Text"], -Cell[69445, 1388, 1341, 27, 72, "Text"], -Cell[70789, 1417, 1263, 26, 72, "Text"], -Cell[72055, 1445, 2163, 50, 93, "Text"], -Cell[74221, 1497, 1316, 27, 72, "Text"], -Cell[75540, 1526, 1259, 26, 72, "Text"], -Cell[76802, 1554, 2157, 49, 93, "Text"] -}, Open ]], -Cell[CellGroupData[{ -Cell[78996, 1608, 158, 2, 49, "Subsection"], -Cell[79157, 1612, 3034, 78, 359, "Input"], -Cell[82194, 1692, 293, 4, 30, "Text"], -Cell[82490, 1698, 3691, 99, 202, "Input"], -Cell[86184, 1799, 197, 3, 30, "Text"], -Cell[86384, 1804, 5116, 91, 554, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[91537, 1900, 162, 3, 49, "Subsection"], -Cell[91702, 1905, 194, 3, 30, "Text"], -Cell[91899, 1910, 1772, 34, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[93708, 1949, 174, 3, 49, "Subsection"], -Cell[93885, 1954, 1527, 24, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[95449, 1983, 88, 0, 49, "Subsection"], -Cell[95540, 1985, 304, 6, 30, "Text"], -Cell[95847, 1993, 1866, 35, 221, "Input"], -Cell[97716, 2030, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve42.pdf b/devPneumatic/PneumaticValve42.pdf deleted file mode 100644 index 843858cf4536013e93af61b9f0e88867b67b2a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120563 zcmce-1#lcq(l#itShCP!7%?+5vovBRiSs8M7oPGZ79ZRzUlcHp%VPfi;e&lhR9Xa`w zG=<*7R}$qB_7&Y@Is_7iXKJ^!UBnYvFg5wk%YZSU3}Y4q`SF}9%OJ!n)L=<8v8aKa zAdyiJP4*z=jZdmNXiO|IcF`7IM-7B7#k(qb1uLLjMTs z6d#YzYJg26bvU6*`?P zu5@5qh@#R-iYZYAwR%SQ0#kY7N`5nnxvo_d%a~Y-;b~DcR>osXb!5w_fsJO#6=O$N zY*8~{dWS1?b#`)ftny;N1i@|Y_k7MCeK$DyjAFg?qJral6Ba8sRIIB@@^rTA7xk9Y zF9q+)icP1M6~cP3Cd)nizFQqv*zkQM@YfJt`@^w=0W!?Y0o*z zB3N3j$31WzcsIj*1`BDoO+6{c41b`83j`dTfU^%*r~->wZUB^ zYGh02;n&2fnWGrD2zgV?Z-qD0pn|`*ydA}BHrZnKbXpkgsBcxSyjtt1-dKdt!wVx) zd;`;1`kIfZ!QYuqx zHY5SmOTUqsXA(7y6CMxaVQ)xr7BH1bURs?LqhqqNDwOfO{GJ;jHNO$;jd=Mj(g}Le zb(H&4XQQ#BlDRkk*IHQu5tz4uu3pZEj_sS`~ozU2C$zMqdJCSvCSy*s1}Oo8LLiQ7N3gU(TI5mZ`G-# zm<}i0)uvJlbd#~*IT%1lw5nuk4O9Y|QZft3<^s9=2I_=La&4HQx&dug-p7zYFRKFrOMl5ug41dn#l#sAcun< zcEE$YqSZb$Qa$c|u~Hc7;hOi`un*mws7#O!sU@^%tIi(x9d)Q;Cf}72h7s+Y34^s{ zf7uX=%cj)!A|zGN_ciz`F(*TA019)0s#sX!2AU7;uIzoZNfJzBS)13OO-&3&qE!5)?3g`joK4dTJcCBND$_dVhWY zbg7OcU_*TuHdAcfZ5y$kKYiwimPbB*I_6NiM z0N0=M2XryAu`&Nq_;bnhFNpgK)I{B!#Fd;r01d#y^GEQ}==B*sE&%kxf&fMUy`lcc z@dM^QZv5j&uP$d`VQlF1myR1F1K{KH0g->-6|=SZbL;QEOlTQs833$*gXo{`O=uZE zL~Q>lV)_uV|EGxgL&Wi)B9;#k=YNWrXc+;FjDO2Mrugysr>TtpV=I7O+1<_e-M&|lLwr&8ekG?);%*h7eU||C2{G~1YVbq7ZBj8Vh@Q-Xj z+`-n_?%xdkNB@6G|F&J}V^jxy8%Mi8V;Q>tEtUj0IXM3{i$C5F{?HOJb}=_JRumWd zqw-HLD;hi6Iy)E|I|BY#q4@7+{h8mNQ2tw%!uUTE`)_H=pMm}{!G8wtFRPTC4V?b+ zilp`5Zc#Hg`p9`0nVJ7mkT5nkHT!T9Bhz1(!nRhn4oY_Vh98dn$CSk#^#3x8Uh=~~ z4tBPGG9!SAzLn!YoGfJS2OcQes9c@8AYeG6VWvk5^${?p=x zlF$rG${AesDxyGcCozeTMVhf@!-2)w#a50W<}tFzNUBNEHLKuN1N-e1`I9+$*6r&%k5Ei@$kFc z>4c$bI0My{rQv7$QLKRW00f8&xy<^D3IZ2@2CABBp!nlYr?AJ8FT}wIWKK;GQ_TXH z$;$+v*>}P(FL(MHp&g*9$sD683hSTa-6hm~xw!;++n0&a*>;S*J&WKjG>0lt1TDnk zf|gR}*)9whNK?aBsRf5`+$f~!KG_HTF)mUnZp0)i0hA}sInquE#sP$Ss68j~Hcf?S zT{&QUGg8GZ1;5tM?;T>0K} z0{6B}3xW$`V{ZI5$0RsL{C@BGTV1o?ahanj#wS(#vprJm4EF{gL3he^4~IoY+5bq? z$sF0cK$JM6Z*ukx92uLC8-fbaf$m5|UU55a- z)n4a-w6TpV_ue4?v&hG$8OKJ8Pb()gNIkpoBC{p3Q(ivq?Xsr} z8I@5SK|U$@U^~tCMi9S6A$O3i=-H-R-S0d)6tJ!s_^LqdSE>-LX=Fq6gsR>;S{me^)IB0r)<3uk<#)uxW zbmW81nn8#(u07LSATciZeK%MOGV3Lee9`&UG0^O>1^{jW$9A)YKONtt_|!g;j=U{y zn>-iZKV64`o|)iK5q-w~ZOe*88KnR|anJtxRdha`TN}3f`EZeP$4l$#RVHjge^5fL z>8zIMyR8i%DD0yRBgCUQDqt)P=we|p8M?yPj$79(eKJ5sC(7AwUZ$=>Ne`Y*+-{tV zSSH@Nl|?oc(GGW@2|_Rs!G~x3*?TF9QpqmA6TrhijCGwAEv-66$Byvmpe**1aYwzDk%f!I`FZlU`djET! z{uk{1KbDglS{k-E;wV13dW@H-4Pj*71TB8c>NK^>tXU$%k-JcuM5M-)is+<6Jw(5~ zE6QUn%*C|BuRQRGC5EYLDk@H&%Pq-lxfqu_Up<{yefconjvGBa=2v>wj=YODU zBtzTF`}b2O4jfbc^73|fe4Bec@p|`YST2xxtfTVv;pFD12TpblBC@_b^i+K7a&>?v z(j<5mo>tMaH1u_v?ID;mn26lWuIA_Fn3ozS@g7|nIe@$$87G%xdKhsng*emSvGVk3 z&8gmM`@$^v(f~Wr+1dtYXNOPG-(-+0~?c=ICBn>w)7g!hajC-us8 zF4-1JE|`VG>EP)2#(%q)30J0T)wp7BkmhvQ1sr;R_M)+TDWrL{@$P6Y|LK$I?8}tG zbU$e7ib#R)5_T9l$NxfjTe1c7M(HM$A=iyM>jjoGof|-Yo4biRCD)*N#@G8>j`iuP zym&&qBI8wE#k18b&fq%5U|Rp3eSl9y+N=ntJ>3RoV^>QE4P%IR+rzQetx=;IV`%9x z^RCaMSGAk>Z9DRA=fJ?n+vk&+z`-%O z8q{GAcNX2}=Ekb<@N7ULJQq>yC-x?YuI$kE#C*rwk{3q@F zUPgzkv3%9;^X|Ft{x`prI@=LpsmH!1p+8b)Cz0)q5>MnAvdqdK>yK(RhhmdLDM-bZ z*2Yevzuh;T-|ZA^(!300X1db~x}Id91zsw^CKswvsj%VkQm|4bk-R(9Y22k|o^wY0 znreDm*m3LR>eQI1#vt$e*`VRcug*PtS$FRdvTVi)^vGbZ8q>p#^L)DmI_D^VZgAH4%w=QzeIjcyYnO8Y;n7Sf^4H zd4GN!N7#+N+{egtJ;PE3y^~Q==wN0g$g97@| zl{t@k7Pgc;IdL9-at`G%QI{(u#zpWgo=_6nj4&|=zmS~QT3#g4Q;>Hv&M2IY9uR|_ zG+l3Q^0h;eMt(q0Vn~aMU*w|BJV6zf#wJ0vXIG9!ed?ws2`ixR+d-Y_AQe`q510yl z5M3sHf($C&8b+fE*PitVcqz19c_^Bf<{Sqyi|fn*>ByA9ba^-!r^G2X*UC;ae`Z+m zz8=?ck1!#ly)-mqHDpD4odpN_Sx`tY5vcq$L+dDIjc~okiNdI>?h_8`N3u;A_mL zCt-CfOxLxg%}#+5m=nq*+DK_$wo+xq+y{?RSOaGyA`3@3&k~W&r4yh~cFfw8A;D&T zzR)d&_d~O_ko)nO!{BE{Ah_k4C0ZhTG3huaX^={$6I0@7P>3|fwbKsxtgxAjJ@sTL zJzvgHbX{K@pT+s9QZ*tNm15urvaeN}I5*hKo}NIc2c4+U>lfKI+LNdx?nqp-mSTOg zGys(fF*66w+RL0vVHf3r!x24tGM?;LYJ1<{sR4;%o=j>Fxq~WWdiov#{DU z45d2*WFICM2FureBLzgv(Ow$^1HAymt;=8GAw0ff3b7i&dF65VpkoFGVlBmupx}Y$ z`aRlwl@nl%iywf2N1k|rf#$BZ?a7JzB>Cn3(_m^@i6SyhQa2}FI|Jr@9BQEXS45-7 z(v{X9p$m<{yviat_lOj*q^(x~1_NcHJMonItnew>7N`9&gk>f;l|aY*=D2k3g|z6*WHBEFBZU@ z*P2%De~1W|XNb0`++a}rsR}8=EJBc=en7b_To4?CR}!emrG<7AEJ159NnWVpVmBfP z!7h6yiV`@DI3Ql71X(x8i4-;^<8e!*No{ zm#3q+6wq;XS#Xvu0kz7ZGF|xb7F`_>%jvNNVRgQ(*&e<^6k(>?R6*G<&In*M3I&AH zi!r@s?65-oNF4wK5Qn0f3j*l;pCZ9cL2VKg6QKe^UugEs%;JzZ%brYPLUA}ZLE{G# zv`UTgN5eG>5+eOI2;4x{S*<_UKBdr<_w|y z69xE%Mp=GYcFWK``p}p}#tA&=((?-mI3a8yUY)r=ye2D$1ee*!Bq&}3O!RLrkocM& z!M(4U>cSu~$JVIGBk;6H4kRDwA%n1x>i@$|6#=R|&Jh7c6}a?cw6+dr8!<@8iT?2> zQ9y{zwQsoTsP|IY&M~}D9SKG28yd_BN7tUD1-j|*?eUPQYyM0772;Fp)puX<=lGfqm0IJDt9eT%$e06@?noi zSbj>tWpp^DpK0Zs#mTc?EHXUC*fb(BXerUVBVVF|NtY^urEAqNx?yh}oRQHH=Q{y} zl<{<@15+HlF|5!$zSapYXd;OHf)qUR7(W!AgKnP`$0T%>S6}2Y$>LZFx z5s-RUekkn;FwP?~XGht?!B{dhNI=VAXaZ!SAfaeIeqaUuGYn$?jG-P}eeb%Ca_&N##7pO=6l~QUDnL zsB>0LQ*6fzEG9y7Urs9*sl1UWC(g$UR4lX42eOo*5N0W3N6!ESIYrY0{d$z-qb#Ko zYNT+`DU3a9^d?R$b~6?i;C?`R>vR}7w5o|K zvYH>}l~VADY}@sWeU)~Mi4i{0ca#sdtp*3{wB1`fl`K^JgjhL#ZW^!2`>s(qYbWcf zbePGzacaIdXY8@;`JfY8;u-CBk=i)L>K__w3f&|_0nb;G(-JE(7 zMnQ7cKR|_MHA;OIwaWK~`g<)y#$%=9Ki3oSVkVQ_=_v{y7uMiAIEetednCl++fgO( z=E9&nDR9q0q8Z{-7_#g8$<-*p2y$>*QJw2y*z5#$8NgKRSb`Yn?zHnrj*pHcnR8%Y zx}?acab3rI1)GWvKL-;N@v2J@ZLjw#=}CGDEs=??o^V(OcjW&#CIq!WSliY{$`vjY zhLLrhGvsqQs64^|wNYyB-4UfupG*+J&OzJlEhakP9eFNL=l6sX5A|a?69CP`$xe-n z-2MuENeV_1Et4)2l81g{gLZ!Qyrrz56n64tR_S4feMO=d{(}ZHg{D}SF@gd6z!Sz6+w&|#9iyg zCVTo|4RDWtn*v@4V7tz1%nyYKt}zHHxKvlD^T*o^n`5o`NGQlBj$1%l8?Q(G#$rxpn*+#<>TQgw?Pf)7q1843oa#LEXqDY z9_a!z`=LEV9sNkKCEs-LqMKm8^29%K#2`r&xl#kjQN%=3ANpOjB_fZ)fnUQ{N=a0}m9(&EAru23?{(nzLgVfYZ@ge&D5}-RbCN z#AM@qHJti*0Xp6;*-sFB&y`~l-sm^R)Vh)0U~YHc_&wWm`reqfP(|9$RWi0r7k;}{ zz*NG19oxUEilBrzIbG%7ekm10I9<{xx@h|iLcsp4@?YxQKeg*W>s)4b#(y!&jDIuD z|6qOT|6fqb{|9OOUl`*5LI?jB()hoy&Hu>||AT>M{UDMV{}5q$NbMWxc6EDExW^p zr?)6SzNSfqow#HQKH9dOy1v{nx-k7b&$KCr6%`w&>+wUjB`HeyFK^DaOsj~fa2S+G zon|92>N>v$1>fcSq3f@|fA6v*`o1l^UryvU`aT*^$5!E1Er#m6v%|6S6ytkPBhn5H zIq-O0ZQL()z43T;@&|>|`?PsK=5G3?EB?OQeBChBdtJNV>{@o=qi2;)9x|j7PcQ|Y z5aP!-Gm=$(khvr>Oa=!Glh-p5fE$PNE zbfOSdWAHg%qAYo1obyMP(xJe8eTsRcHIEQQk+|D^Jz)E4OI^H3l1yAHBbw>n3I6mf z^p^U5sP=Hip3%-~Ho7kq{nXInxgYag0BDhy^(aHL_T#HzwkPNMpyDr2%&J+a87~1u zNqVKyNK|9Yn%gUoHyY^jj2pnf5PD2eW%1+VrISA2+kKan+95-Tiq?cd!x-vQUvB5y z!ArI8&6Mxsn40hFv#6FVhua6(XJY;L6>WrEZ+zkBOU_h(84vp+87dll znIk}URM{xJ{a!u5pd{k>OYCiP6T}MoFurH2{1Yvl8MAm*nvsD&7tN(r)c%EYjo2ev zodCLl6!P1oq}R!?xu6jcVth*7243`a z)Xo=P-Wq-{x;=~s{M9~;E@T$44g-XA)+Y{+ar!EKXP@^KIM)itn^50J>oA~WkXc>2mhT(fyfvMt^mc+nuuk@B`$VKxoU#vLNSy#2}^NUUo&I< zl#N%4XRI-|7G?=sn89+Ld?oT3TToz#W-P9`JSe1thj=u|M8uxNA$?Lxu%FevqVPl^ z_&(Aqr+v5g?kS9qB^>fxJ}{<-ShxOcP>{!bjb#&FaITm6lPm$is^Nf7NIlZpo|rh- z#mNo3MxnS^_EXSgD;jTJmMocm5yr?8uf|dizN7iR!%ydS!ixl0OH0#8Ddy@m^QAFT zU5nStwu|4#uD;LrQ=9KEONWTwPuKZ9l}m=}qyewqJk?K2hV${j)Z^OS+#lBwEZ;T6 zjbJ6w!(J|AfhI4}ex>Gc2JSarJJBWc08oA@3#3n>w@<@96 ztNro#4FDzP?W zP5Slm{OfB%d(ag*2*IpbH|E%M!w>b?vuloG5{jC z9>D5k?Zk2Kw_j@kXG|2UuTr2m;XnX7(OWztszzYZBACAZ=lH_)xgEG(kQ(fx zWlhl&41}nFe&IIcw3DzGkA;{Nd<{s?uN3)J#@L29u}Bt7#ID6$s3Q_{?XxNPu7%)> zR&ZGx76dl53v7xsryjg!y`0Ufj4F@A4Ba1#HW3Ynd&s>Sv5RU(?1^fMOO5;e%$r}% zupW?~HNRjMLrrSQ7&%7#$QnyKf)68OUgtzn)skU>GgFDZ4h$hYstfR! zj0;r)H(OMYHksoWZv2=mTyrQ&U8G|VS#!Zgn2DjB$XVG1Hy@6-^^8+4OwoBGEKS1Z;IFAR9v1)m5#@rX!=kV&mdVh7H4XKYNBBL6r zt0of<&c~1pPI(P`h!2x?n74>B6)*w-Rs`|H5F??r4EK6B@y)I~g_(#jpsbj+HM06G z9AVF2kx3-TQbEF*4005`P4SKuQU;+Rvw4?2*Tw4P0e}PI99(@T6fH)0&R#W|!*XQF z$MLbmVsaMqRb<8l-XN(SE6+=l5%0yy`>59=UUF|bL-3wrMwZXIn9ak~9V=p(*y%sn zCfLorGu&pm@BoP2Lvx(as10eq@!1ea5BOWvTitLMNJbr?y?Wz{a^@3P<_3IdMTE;KM6S4>ikApJ8JNng5;jOA zQDczrRNd4@$huG9`qtMh%Qw^5{VH)j)hl&D3w)f{szaOkik;;~Z*& zcZ_41QENGN1$Ir|Dp7COGn%Bpnp7JM6%xx<9Q#2=(hio9NC)!|F?n|+F6KDGn18(1 zZ^8pjcCa#w5s@Zh7<7WvQ~P#AoQO_)wl0~8OnANU0R{KLen z^3v%UX^=wg;m+^WTE!ykGIC0J5(aPD|{*5FJ z2wPd1F()$=nl!`~rZFTnlkIf*I_WwPTv}P2Z}Ds>%y(eiOzj}_`QI2@2pHq!)vVFu zT$E zr5BFKOp-93&9x+WMkII`bO?B6H~5Vi5Y-iQaA3GnOCe~PoHeTO;_#&MTYui*nbq*O z>ABV+$~*&YT=xVNK4DY)Z1hx33TgKcoIsQ2bPx`XdJS?;kE3tX<+aTXqcQPEp+>O0 zrhu<5#fFBZm@DZqIX#6B=6GT_vQuUPvGOK{vGNBHVhzMH^dFlUTQNrL*Hr5UM@~iP z#ME=lv>x@GnXy-wd_^bhT5>rKEPCDx#ONaYkt5vsrt5u5E5`k(Wo8`Ea z@KnV|l%kF;l+ToLv?(fWDiP(iGVDQ2A6sV{BrEaRbf4c;%edJuWI9#)vzObMpAyon z+QZZPN03r&^FJH8E0G49{O~q?rgbvR>ik^xrS*FPd9s1N6=(In)rAV`DAZi#TmZ|j zm2s)M_r0E5Em0yn7TF{h8dH>@ktUKGPx$XYsjx0qBi$@PzHflp&5O1LV{1Bs6PqJc zI7Mbd_vnyh2kG{8KqpJ{q93bn^W{thuDdt#Mp}fbwCv9v1NRs2obRO0(KSPgwA+k7 zY6TM})*wyPzpD$KRa%(>>NY{OAR*I=mxU4&HHT1~5|iVS8QYd~nW}wsmwsGBgQ@|> z&n6jeYz4lRm{rMEv(`UqndcM{AS~_X;h! z3jHgw>6jXB`|D*!_q-#rhwoi}8-VK60z8cB%&Ls zd~~tbjO(^8)G+T3&uYSco+gn&z&OC0qdDbFS;zM>tHoAUvkg@1{-Ujo@96}AQLb&| zV1`Ds2S(@eP2?f&7DbEcSAX-|8r@cJw}ED{f8|6Y+5%FA&zR|4_H$JLdv)a1p~`g? z)BUYZ=b!K<9cp*(42)8nuRo$IaXH906HATa;az*vxk{U!?S|?)w;z|ZS>lby zNN(hA81iWUu>iDaeZ)8Y>___QkIh%5m;GIWuD6@D0WIOxJ?T+o;-hfC#?R^%D@YMeT!az z5rP}QA>G&DZ_q0oIKzXoJ~$HwuQ53#heAAvc3vfu=WK7eiyEJ3AKagN6&zqb$YwCI zpY!cOSvdYGlJ-Le`iz@il>FdE!^yG6NwPM^BQtH2Zmj^Lcfq^#_Su^vgGOg11or7m zK~+@Z6K|^-oB)<9Dtw-O;@}?7)6s5$fBxgh^=NyOXr0QXbl3)~7DXQn85PwdmZ&zX zmT{~^q;|auNy)Oi37b#)kG4mc9Wv@RGdPu7hh{Uls@pe)8Fa4vmW=R5CPYB-JM6C1 zzWOLjfBDL26+;I7U80e z`^?9{mBj_g*UoZU8kapQr3T~f5q}Gm$NW{Uzf+E~)q=RjB{@8}^4bVE`x&d~>yfc9 z?wQn$x?q|7*G{^p*$%WciM)5xDC{*Je zzpJaUYvXTuD^{%srS`2QYfdd5Rs?GTp{NxH@gPEO?H@~KKO67uVH1#_=YuIKA}Wy- zRuagH?&K!+}91yICzIk(?tj+ z?dIH>5!fMCk{ld)D$xti$swszk~{`fNDg6Km;xo+VhSrFmI$KqjOa2sc$|ACBg%S<1?YjKiJg01vw18P5Lv7d_D>IIS_2r!TBr3hcp-#n}TVml1JXGxHUa117>*yDW2`zkZ z<3GB%NFCi(P10VTij0)9lWTVG`xhx>iP zAZR8^1_ARephkZeE4dis2V*0~0}7Fj#xF5LdNCGr03Y;=;hwXx>Q6!`D!Pf$m!8|1eo2a5uZ<#&kY*OR0_F?z(OQ)L zb=KHGUIhV-6U=*zWw%({czISU{PH=4)t@K6YyS=e7t5y@}i(>t;%(PMP3YM{-PcMoI7Mb0a`CgXLRaiG?aML^UpwN zH8JH7eyl8)V-wpCt`O zX(3Wgis{@%cpV&qn}+|$VGH*9+G9}mun4K zZ)afS*M|Eu%?adevV#k9z-AZTd4ZI*28mh9Nx0&q{<(I4*t-&)i%RSVdIlt#CQC*| zr>=vD8WR4;ea$E~bKS&&uTDWlJTR;I>HKmc4VJ2;W>rSEiTw{}7PO>8dvD)&p{K+k zJ@DRe4Xd9UV3-l0vD^4fc)s15>wR;=CV17$^Y;!?sCAQqk52?CF=*FNZ5*B%^bEXQETl);IDv4NNwVP$>@1R@~z# zfq+?0VM|vHh>P1iQ%FzwK~K-3VWbJ;(7!5EoP3Fba%NNYiFWrzF8v$y2u-dfNm(QU;C~JbRhP@3KyuzBvDrCs(et>uCM= zsojSK^P<93d|-A8C^^)v*^;xS>2M>@om2h^x3eZC++qI!Bzv%?c9h3M5LF#K2WQ+l z`j7mDe~vSWX%(VttZ-Xs$sS0<>DGug*EK}TY zVJ)`uc|DW~Ho?uFJ*!n(#dg=sE>$kCulcc2=AZEtNMw7^zsX3^EniO?-Dk&}a{-iZ zhVs9ZbC3H9+VVJbp!bnp^kORcb-iki;hRjB%w|qP5&J;c5ffTg%MHsLcf`kah}8s> zs)>u4NbHLBn+x7HnHBE{J{@fY^Knd-wwVV$ejzbabj;Kw)R;%3P0yf+mK9930yWP_ zjNYZyUNVGrqER{S+c0XAm&ygXSNvRI0Ol>(2T%0ojjOX zQ)F%j={N3r7PYt!p;r(OIgr-c%E)-5xmaiwZvT?cR48F1dMnNl^9ksjc-xP1H$Se- zzl^lJM)VVG;$oLM%z24vt|*@-0!jJA8&SAD7{m3wbGBa#`2j->!#2N?KZ`Lsk&y1E z5UIEJC((4Y)#ElDyM=m!bxroFFRgsHI&lX2W@Wh2?oE0;kviXElaQkel!HlhY5Jq6e{xsuow9l(iXp)6@OZkvF5KCSj=)xZy>H#*voA~%}- zkpj4tqm3Y1n#`l^WdQ`Y6094-t+~$P~PLtUxG4B{udb@B-lXEeD5O zwwyh_4nM!{G5?U%THV&|7!mfET8d^&mjKH~%#qT2i}2h1$& z@ww1pkzv$37?89yMBmNQALH%;1-tNG<-Q=LJ5!&8;5&OnwV@}GhSU0??Gd%$>2@NT zi9@zsOPfKqzD_yGAhXwwQ@3EoKk;VDbbDryMZ%7G=ixsv8v8gWEdQ=be~WCZnMtd*pPh0N0Ol6THb8X zKX!q*V3)5ECaB%_X9aLWI4#(AFmn9Zk>;v?0U}_S#HU?MdS>}F%N)^CPRSK)I*cKF zMAsGU0Cdhan{bUeH%raC#OL(zB8mAtrJ7VcDjToNE1bzbmT`67hVwXGM8Z7YfxbxQ zCw;*xQHe$(0fNzt4Hj#rPx!iy&bEjPyFaSSS@L_PWg!dSJmt4pXa|~AT1c#gRQtnV zK?>Rd$#K+-{xb=3&?&CqNju*jtK^_2i>4&hZ>~J0DRwb5X0jh_**S0@ol|2r{z*fG z{Mvj|a<86`Z>&S@L1sF#=fD)1)g`Sn>Rq%kNY5(mH!Ftb=;X-Z%@OcwQ3Y7+L><<) z<{t$!*Za}HpLHO{m|hqAZ+(8Q?vBP1026m zPe6N|lYZps1s#e}#J2FG)_aLu8g%IDkQEdE3rwNU7$g1$`|R@*Xi4E)ZNCsDPtE%; zeXwMFeoh7;`&A8Xx(4XO%MQqo%h~sH!uhxO791oW=aQ3>B=DasMm8ZC%6`Q!TD5kA zv8Gp0>NMah%M^6=+@B({3QH49%oWLFo>nNczzb&P#Vgu>z`pgmQ}}?ikG;Tg#iW*j zj>mgDk(|2Xd~m~Vg24+TYH<@wM;3 z>@#PfTn}dG_*F4t#{ogIxwWzw+oX`bW}+`CyK^m>&TqPzI-nR3V{SGwHIYy;-U#yg zpD27u#`(3#JUL?ayO9kMpRa)GkK8s|TT42k^zku|D-|GDEU~J&?*3Xl|^O& zhGR|6sJ4Sx(6`zsIYG@{%6tO*25gJna}LSa_)U=Ln9qe^vCtFmN$O#aO_Kk`y4dg& zjLACbpv(<1Z19g3Po$zzMW;^whimIvoMREc$7@Y4!H)To+3+YOw6dc-SIm*K4d&`YfN zd@yvj*(gabEap`J4q~0je8tL4cp`>23`zXnUk-Y!xO8}m$M$nnzPFQ6HSrEdLa4H@ zaw|DLFxsT3_A2o>_9vsZKx*CHE9lZ*5oc|m52Zn%+E*OmV0XKWp9NZoODA_*kYbT{ zn6$GH%_Q`V+xgMibk3jZvos^+GUHHEi*GSGc(D|%*+@wGh@um z94CgDnVFelNX*O}+wpaG|K0y|O;6od@6DZet5j0ek&cc&&^jB|+Is{pU(VM{sFkyR zlO{&^F#P+aMu~JNVF2QfTlg7Wf%$5m7R!-+MSH?O`^VAzctravuPlPkVi zKEDZJyDq4J;Dlm8&Y=YA(jvi?Q{ z{aqdZ2g#EAU7FAO7p3u!V}B=9{&DP|h?jpSX#Sme`6mzcH~ss65ApJM%H#jIuK$nX z1Mg$|voynRd}TLfAWu*)iR}HsVzBL zsd3w3q_SbG^mMWrr|iBPLh_Oi(U?+HXglitGqk1Jp9iVyJmb5yYf-cY{REE zHr?$n%>1WU(+0YGE_)T1t}|fk{#S!|Cq0AN!du_Pn6bKvB(UDD--lw*=_OK#6E{)| zLo(HixhHrzqGzk3up|{DA7~Dzak63+X5;aF2ywPxOUU|Xsll=mt zK;@~H^L>OY*Yk0bqFFWUj_EWQf2hU?*oby%npN(B@F*+@gMPW?{7 zO?Dj!;;vY5>i)c*eiVnDW)?v;`-AcvNM#7095~8>QR-XIYWlj+K#q0EUfnHhq5?@w2^WFn}^-+C?l{I4P; zKx_Ox131WfKi_Ft@RiSnNZ_IYz+gCLis>3D*7c5XlJ-lSS;^_B6LsdoZ!iRT*QGKR zNT`1PupGORg8;Oou%i%%;>3L$5cY$pM+SvJ%U7k2_D7~+r`;dnw4n$Wg{^<7j0{8} z0TaQ`?YRk(v?5}?r)glcC z0%#NU86*abC_h;m2isTHC7V2x|Q+JT4 z*@eo8LpIh{A;t6#GWJGUsRdyugjgIyAUi^?itoYjN5qyOhKo5H6-=L&64%n3kxLa( zZ16!IGr(}F5Mj}VPqip4yE#0OCi|jU00{4zs zd5lc_cDe8eK_BJlsBZ@6%5Jiw5%5R0qh%_pz0RXez`0Ad$K1Xe(qrH;qgTC!=b#6t zB27|xwK*S+ln^_-gPgy9tw_iUx)od~KO^VM*OivM7BqTRw6EWA9(NU@5mumAf$7%$ z?Vd3v;M)d92is+lGppdAIrOS}IzbhsV4|hDHS-PajN*=+`$}uSRavUxRnOW^BLy>~ z0fMP?6{jJqhElTe1<-u%OJV_)J!wr0zxqsaMYRcbVBsaWNd*H zF%+96f>?A3(P06|Fuk17*D?Am3c3B5!pb6&ycmEaE7;EYrYcIDW~x04Z98i|rtpZg z#pKjhH(IUznu4I5L1x9-logWx|E>2B`}F&-H~cj69vAA;~MWai0Vnn;2!;nqn&e7 z&OJv7+npOe&s|Q}nad8EWj}4JH(p+)$hHMBMF&Q4t!s@5fP)fZ_}TUc?WKv&NK=+I zuf^#Sgszxc3vg2FE^2*JK7v(wRr7TtP?_GvJ7sGdNm7+Kh-{D_RBI~00>*V8*6iPW z5`il|^Z{Q3?p)wNZHe%J(0lz39 zF;XNyprh5(MM(|7&>6yj)QEnVG~{4a;e9ev6Hy93ibCllHAFu}VNis&u@{BT6ll|t zSfyXdz>xH}kM!Q4l0f7gs+^P{e|n7tkf6i{vE{wLy#1&`6(!B{yL1RXLkyc5^s{js zk{{myqKRUokc58YMiKp_$RrAg`&LcK4aKeFqz@4358B^`AUn#>iAqUQLOT6+cY6Pf9FDZei(?fs>ej+XII&P<2?aWccrMaV zS2G=vs#T|%Cq@zo4-hrbehBPv4>b33WY){k4Oo(vc2j)Dp-xeN11>jjyxp%AQNRQ| zEsW3oDG;FjVW~b0SsDq~ntujmqTH2c#$k(Qi;_tua(8!+GC!&5eHN11WGh1fC|`97 zA_G&AZFamvpQQ2)4Q~E!c^jG6 z3QCZrV3?zmM2o@(Q|hrDDnt`owY5lEt!P3?5=B2HMs16nE<~e?7UPzeAhW~ETr!3w zY{jSnwGJF?Ku!Lt^j``b)*^sn!f9V$QoNY|7LOU&k zR&$_cAm;@~_lofrYe=|r5YUB7d?`pAf(-WbK8s-5ra6FGYfMN>EuIsl{xH7=aGh7w zGXlb)FdB6VJAvAgEQ~~BioTe-LDI;i6># z*0I`>q%@l@i&9t3^O26P^J2L&09yhD8ZIS0h_7NSSxTc8{Q@y0pcI{-2j90REU1aQ4*Z`O+NB8(1Iff0_zNn_6WgHU z6)K-Jw4Q0RuQQTlTQE&---`&ugare`1lIu{ai5ey5q5=L1J z^G6AYFO~i{37%P!#<2Z#J7gj<9HCN#Az7S|7=VZZay^E4Zeti$%A*zpA1V#VIYP^v zo#zol8c)vL{q#U`5J}pbx(C^WD4b>gfDQ+OG3jg?|8NC5C5>HK9R<;WAZ1`ps^l?E z8BK{=5Ze&Nkr-IU)Qm3At%Y0_WrU_Gjuw;@z4>bC77P`qgC^2mS5*{MurcmaU`njPZRrwY8U}&ypdUnY0Md zsNK~=@@AZ`0Yt%Fv{HsZ7?%d3u&)1RT&WgC4tO*dv|N2~@YDTC5v|1>_Kw+PNQU=aAYQ!GaGIGp1;T>#5 zk1T#Ub-+L|WKPjRdB^kwsTzwI(z$^JP9Tc*#Zo;6 z%IG_s1Bs;yz%joMp`mdr19emoWl#zma@$EowQ~)StfHl;z%UU)0a{3fl;m>k0-@gY zttY6Wg7o^#LT&=@lk6S@Wce4KbHose!YtDX0G(M+NPv)nt|FnI0u3;%UC?L`gCmtd z`63U+AW+KE#gVOViy=`=sEZ*`ioPZ+)GPIJF11I;Nk!z-#l%Tox{dh3k#2ICV2S*; zg{3KJMM}u#VQnTqhD<%cl4`AIp*jtpb-27y8%C_h6O*2sK8fX2CSu}g2&vhz57e%@ zcj+Q~;rDu31&@SGfyLNuT@h&nRx(8YhPkLR%1Kg^|MCVdFvU9;HJY)c>`%uz7#5u6;GaxX9?2qhgIC}MXt?g))qu`*n<4NkiYy?VUx zjybuxcNCw+2JEsfnaL4UKX`KEyFRQMRfIAHjKtT!c(&eKy`3Hiy+teVzIZrCOoRS( z_x{BJvVVyXdVKi+p5szCI)mg7gjYVDZb>JeGaT(EjE-RD1o^Hps#Wq4{_%R_i(yyD z-P5%plR|e_@XOn|P>l3j#xH1a&Lp9Kh*SL*g7{aQik*d%`>$}tZ~EE)<}lU&hse_3 zBS!yqWa;k_sJ}&)*#7$^y{vx;ivI^Cy{vyIoBthIV*3Y4FWdifN$-0m#Rb0^rE|I_ zgDf@Fl)Wo)g||f}HCok)2aygd74bG{ZcIC=Ze--Dd-?eB;E?G`0eT-t~tYG%= ze0ifM)*p8PU38&0&Zh1g^{;IH#JHVdj~%RX8($9rUq9A_TsfJv(@&S>alzRy*p+$A zTe~KY+h?`BLl--vYg>nlif@9QUIA`iuiLxBTZ=GhCPz;~fCx1%$n@X`(gs9+c}kT~ zg`hrkI}|zfOG8FOyz#b7d(qmPLsxeu`8do@VIBwR z&58eda@!v<-$)UwA!)eCG4V^$6=;8VjwQc;_;3w(DonV~`Yz zi(UlMtEj*fSeRX}Kj!z`zNMg=9G~o*Mg%{mn38nuZG3aF3N~yr*E@8$0#xAXbLE`f zM|+b=zF&fh^Nd0yN!x7}8W~`2-R&&DT2Ywdt<&*;IccB9PKz@;Gn2>n8&D%ykx8S( zz^yw$&azvPWd8-ltTr$-%Cl`5n{VPwcAJ%gVv36_K6|L&N9ZcjF$IY7g3hxjLIE_< z#zYa@Ql7}gPmFUFEF+JAjK~FPksxRS4>S_JzN}${^mIyroI0<{G$kJN(Cp~r^@k}y z=rXIn4@Q2KF_aLVOgj*$9h%>qht_w-JVybZ5K@SsBKbABuIQ^6&{j23KceTe0Y2t! z12jBFCY8M=(6X^s02Xx3xbdWbK3Lue%(=M9Li}tIAB51dL_ji@+9CpyueggZ2%n%v zv8%sjMV1}iq{Dn&x38VOysCufp>9SBjXuokDu_~4*f3Uy#9vIzouDWbN*MWM({*G< z)`qIvY-#S-S*#2y>H+S*J!h*^1f|N@c zV^-tE;Aw&eT#hlHFOg`bS$YLLR;3vbyD6biCRKU`=h;@u#zUrz#sj|lhTQ^u-5qUO za2^oQd~^(-f9id7tD<65ScmZnnZPPN=4Fz|Pt+H4%~BGV&Eyz)!@$8+E4SASB~lRd zhozA~gbJ|<+%CwUk3VtU^E<|t4^G2vMAJDLN{QI3k1T_XgGe{ESAtS!sv|S>^wK@f zJ;V0U82+-6LAmB(n)|5L8W%hsrAS6YJj&XPmsC>1MLzl_38az~1KN$Pl#0AK=wow% zQJf6aLWLP})6Eu9pj@sL4E}H;%?wl!W9c~xN}x(WOWD>E?QE7F`nYDlLuon=?|=rI zFdx6o9*gtMqA_O&6P#5#g}Jr6w+P){Sv9kg5Fs>L!0O;)kXOZ>#b5wm`uRhvb2L<}fPiJXO%NyihNZ<%n8v58-={f7er z!0?l$Uto1Mt?!f3Z>gBN)+Cs?)pmN8SA^A;z(r9Z8G=3*0BZDQGn?em*& znlg*-$_!t{kIOS8C!9zggds(>l995f4S@8q%V&w2@7ISGEAwtBForK%n33}KFB089QF_=BRfN&0Sfn=mYsMZy#EpARK z3sLAmYZFn#`j{OrV3phqZW6GbWP)*Qk|atzUNq`Xo!jBdiHx>3$c&QtxmC<`j56n8 zpY%TMI=15tXH+tndYb!}4>cz|>APYk(9IPVM0QZ2dcGn-DT|QJ#wA1@1hK1e+NMl!=FB+zQdE_`xEgzY=7=o}b(p$sF}fw>Fz^mw#JwQEiNQYK8bgKSIDzTeeQ zn7m1+9d@Cvlo*G>&Y|6pq1jdNKHGDX=!npVw9iQ52z<{8o%F5!!;G-pdk;GjE#~Y_ zaD4~{V=$`YcNIfN+LD^@@NZ_jO9o;&77b6p{`;6$La`aaQF2i!x!nhPDR%=@*3Y@U zwN_TS$D3HCteStq-|B{H@SZi}7_{?7Gqnnb zJ1n`2-}YjHmzyD_v9W*!#VanDc=DVVWT(}e`;U?fCz!O@3a2x56gv{}N z$hDo7Anw9-E=1Rh^_!_zt(eCdmh3qp_u9YZTQ zqmx=fWl!T-vS@S+Cje4^|4NK?d8D7htQ<{+e1-Jgp#3FO+zYk&n?HRS_E-vhqF&eq zFL0DV2IIJh{HcT9-=m;{ZfG?6>W9hfzZ12l>U`qz52 zkIal(aT-~uqXj*1zgm;Tl`K4r$`mcobU;BTd9<> zQBy`29@d+T5|XOk7!FFok5ZoCTeYS5zkD-AO7S(utVnqZv4B}H`~#ADTR4WC2|3kl z2*r_VH1lez+VdHGrd2mtqew+m`2yHKXsIiD)>sG0q@|mF_=gP(QlWKaW<)ZM=7t_=yTbNAXu&&ns% z@sgLHRySLqaRdAF1VqmGGKk-q47l*wg5W7wpg*ETkw0JR0y;fMuc)5#f_H>aOr!+2 zDvDq1V^x_Y-!@D99OnIS*}6J^a_1Rt+9`Sv`Qv;)ulDaERAibSikUw-;m;v_sYSXE z^weJz7JMvx4!GoWKy&pJngGuZ`L#Qt=1C%2*-YuUj4%PyT*no z?0g*eHe$^Cm;0TafES}){k`(h=fx97p$~URu5V0ug7j=l8}3`VBKhhcv=7d;!UK+q z4m3Saq&dOD2*r9D`Cr%#INv;WGRm*6Rqb|X4Sr!@TypjAnG*^~fj(#NUHfredol_o zrxS?=J>v}X$ED|+kUiX9Z=o?G&L&?7N!T4sC!alezK-8bJ`H*bz7?lk?c2P7UM`-` zKdnCga^@G>up7>P!0K_B+Or@Y;WcicQ~SiK#yO~x6)O)wR zYz?w#yRc7r1V8mWzvl08zupuKe*k&q?(hc}jP{v%l99PVzK>4(#gMyVzK>IKXV>2fTb=w@Wz7hdszf#C zWOK5Fa&gXV7V}FwA-j@sFRpm(T#6HGt3y`{et!lEaq_sut-BXxiqFH|GF5VS*1U9o zpJziXCBYzNkf}flVP)|;l#AZ|K9IG!b-;=-S;hyD@MTc)QOW92X0Ej zFux=FMJqOrp?kXK1LnH}vz~{`A@HxL=4|AQHYdzrZFV6yE zSZu4^GdPX?jd5^x%$Om$Cu*J`_+b}pc1rs7O;Qs(cKW9^dkmlUS)|739bK*HKcRkv z%fr5L@www4y6lYY#lRSui)9gDWtQM8fGV(zb^pja>@s9!S>a@26bqd(3fKXKBPEM% z;_PrBj_t)!lHuSH;r%3BoQza`Kyb`zoMn7pn)3ZKDWzjWUqTaDBy1yO6R0vH=~)LP^1Z#uOGXR0?KD{YiA@`}Qd+6V zajuX}2S8&-ljRIIrVP5TVz0!fI(Y)wQrY`I%>-K=Ic|$(f#xukqRmxtEps>PDOd18 zq(h@|Ij}^FgtnR^lJzNojaxT&^}JVGF8YeO%1B_GrBZiNByN@@!Z)JY?F}~vLF?6K zoQWcL2ZzJ0EK(FxFGC!}Qx_v{rN&Nr4&Wq?fmfcTi#=V zlxl|W zyeVC2ZevBoM`Z+d3=vv=E5Oe4@^C~)R1wfp-rpqE{@ja81}Bi5K)+aGTpxWUriy?` z_3Z2|A^6#Hch;MdRpQ(=2mSrq#^aQ)OL8Mpv5GU*|`oLSlI$z4U&j?BR z5GRFZ0mFN!J0sP*EaIHx{{1Q@BhO&#!Y>@K#Cmi+zlZRp+-ThDS8 zmgpKJ>Er2tZ1EAC5V$GW-+!ByUcn3-%qVtp_$2KRl6kB!=&iH&KFAQi*ff8F1ustE ziL~4M_p=`2$kD$4Qi-jj;B;>Z<4%*XyhN=SV6~-ay6ChNy+Ydp8*H{+p@EH*tCI!{ z`8*peT_nS;91s(-5B7bY$^uUX1lX{Jjwb*Z9wm;>^WuP)(KA;T7=_zn`wA8^v_0@~a34dj+@+*Mn31|bGw!H4)l zjw;&qFsLa?zO{bIozS`Ns`r-s<~c0GsA*fLub7^F@?;SL(4I(VXw|N2KAPMsy#j3> z6#a>+(#f!Ndel6)nG+_^JopOSDAnD`dQ`#<=i3SPmbqEp(s&e9WoBYIaN$l8v4JMQ zc^PfB$+z4t8?vvz37+*@Oi{C$K7U{c$a|pj$p2-dx$YiOTBCA4*`L6KC9$|*YCM8H zbk6B3gMI02tR^pj2{pj{L)$nq9j@5sT>=4w7du5VjXiLq1fg))@|B8zQ?%JdrHJ2@ zj{A^~btWJ4#?T!462#;D(|?vQzmgmJ_&C3bonJuPO90|o&>mxRDOpYHK7iJCF(AQv zk)ZTvJVH&|&z0|F<(#vPUSwW`c(hmA9Z0wnqkVd_lqz^PQB<#C>RnMfltD#Y&S=jY zBahGnl(njLl5cr0O!#2Qe%AQhu0J0p+Ys)~kM1zg%YOc=*ndLxX(%BZQOcmXg7oRqYtVIW)$${~LEy1Y z`XrjUEpWX`=CkOEW>@9VY`s$cu z9y-rG-DT^o^l=;U`k}C2I2Q_4)cGb{nVhIBuCgA77t7^s4as=f--i22YRx9CZ5k7z#N=DSk-2a{a|1!?d$Aj;V(yB2_)O(W7g> zi@BP~fYgI#`G2tV{!Dkg8%8WVTr7X4LD>G?=HvfPw(dWejeob`{%cF`?-t?TExrFp zR{if`;r?!8{f}FEe-M=aohxDgk4d0^S$gb$P<4NssDEm&^?veS^FMPz4G#nUL=&;4FSzW5?Efztb|Fm;ns8^HTJjsh1p7U+LY?Yd-xX#IU z!`NZ$idKtQ5Nj#}pq{6HT{p|9HZa#@dqGyiwQf_~5k ztmMg&M{nP{t!~98DNFB=vq5{mX6o!=LCbjqvPI`bzK?d8WK9f~BE>tL+);#jTuEnB zlMnJwjd=mu{=c{l{pcFEC(AE)Y$gisnostw)lcR;%7_WK5wfR5g?l)X!8XBYcC(ll z67*0Oe1eqnjUY9l%eWn8@Xo#|HAfQDrEoo)$S-4qoHk2Px43?qJwGdRXx_*fgucg% zUh?7l&(QGu_V_bH%FX^4GW?l1{lB3w^8X=+@4ZFdpGn~VE{E^;Kj8m34E({f{|_+m zTYB`5?Dk(|eD=Qt4*v)Pzrn*FfWbn{&Bn?8_hxt6KCWtejcgQzv%loIzn%Bp(R|)`G=&co8(MYGS zz3Iutrk5F%=(TpJRR47x-a5q-mw#l!wgkXXZ`FHPhvg}znW(c2rqgd$X z$^2S$k#K<-w_DY7gf0TwWr@CQ03n$jI$%Pi4blt^0_YWVvHvMfs(_6~bmfzWg!EgfD|YU-c~H5YztYQ*^XxX+Vx*XC4xXR@<)un9M( zIV++G6SAd0iCY7C;~Pas{D(L8-tR7h!}sD!R=23RvPh&z*M(*!#k?2y9gAKMyLSgy z8tKd8l+kzy!~Z zuD~hK%Huvh$%dJHb%gkq;xA&?%jyB~F zHZ(J7Wo7b+v7RA9AjNT6cX>K>yj3Xbu^|zj$kt`b=u*L8Ha0F;^+SCv*kyajIhcSJ zQ3Ww)3_fXsP)HPlXN`w^;b*#$Wl~&jByQ4?AH*pXBs5$V8bP*&QNud%xVI;ee zs4P;b3S+Rd)Wri`f0VGFc8 zMkQLu_@@frqn!nD8iLFC0VQruFd@o86m?(0CJdr`bQ4N`wtGzZzEagaBVmnbf#d?} z8G;JLNz;vC_r+gU8`b5@0hgy&-^+Nfye7lV$9b>jAI_}>c>S)MH&^cIDsjZIj+Y$P zGiLYjnFn2bnTR7{7A3)=t*O457P-VB3{6VduxI8ilVuyk-*z}qv1BGlaFR}yaM{#0 z#T;1;v{FR&^)jEf@~ayRagVymSc+T-pE=H;s&!!2465qb_3ris3;0Zx zd`!@tpT6wWWF(M-zOr>|^d#=oSxlu}nU`Kk2B#pM-03AgFg+2uO&F5 zgB}+Qepccfr$zN4McZqbfHjS07nwRD69iUH1z@UQUa($5ul}hh68`{`Dh8!iVi!0A zV!<~N>YJ8ByyMwJ1Q!nhresTV!l8J5b^Obza;4Z)Mr?l9x>R)-q+DIBmX4Ec>BsAU zySeUJ>%)PazUK2vT)cpjui5^O+WGRyai*Pb`HbHld#=M>x3A|Lr~RBkrxw}0-&>p= z)D;g&4aQ^m3Jw0bCd1>qelOG;xxdD3nM#Cu!?6s9%KRcwAAUVj zJ>27u8A(AuRuekqityzVsiT zw3!fWsz$7F2e$QWJ5#lM$O&)C6IT<2sf6*2hAZxHx*{ZlMao(=VyJp5)`@Iuy%}(( z6#LG&Ur?G#Bn>00&(Ev%>-K7OQLTx(@2@YW%7qBCo183Fn4Uj6*dD@JK5oL?uYhw? z6<45O5u%IF7YLuZ!k4NgiC2j)Q8ZB5OUY;{Xf4|7y*IkX{a7kYkVy+B3wx!W$E>h5 zvwyMdcac`uhOvR*ICsDK^MXjqPbzkeuTAyj$L_>~At`hVZ%F|jsY9&&3kb@c_gUcR zF`8xcB57sS@&U4-u{t`PSONNvctehG6sU|XH6CsuM<2|}z$c4b!b@XRnnq72g8QfcZGGBi`_(_vfoSN)Doh$^_bZ!CO1b)j91jTC`S{Q^8z#r|slQo?J^;ej-q z32!n*oH{6y8=BCYL0rB^D6;sf2K&N1?SFoB+<_)hUE3n@HRn2mcmd5x9yR0=Thhi zFC86hP`Q&vGhV=Co)Xc#e(JE(q<%ID+>6Zca%uBC+KO*Ksh4E?i-{ypEe^xEa2+EM zPp)s^a|RH+D>XR3iZ+E+qST|;>7_+l5=6{nBxc%BDv1q7W75H z64AYwlVC9poKBvx^s+1VUE3Vrh0FQpBQ?xS=kN+wPB(8RsqUN31&MkBr-GQ_>sa#R zMeLVULuE2UOb?mUp13R&WWr6|v7koGL1oVvgaD}w)Nz!{zYfofGY{oX6lKO+6gQE&i7L` zr^(_kwA{9|kc;8Ed%Z2Mri&HrHoA!Jy9n-8!F;fkiMMlvYo(Wr;v52#fljp`BuPdh zWuZ@@1E)w!dbp;%*nr3W&#<&4Lo#t~)NI|WKYcDbi#fV(o2(w3+D_b#;`Tccpuf#A zG7E$Y^;CLwpt`HtO#hcI7%*vD#W?onJM_Y%2CABap%gT*J?Q^^8 zfU3j+fe50gPe{OF89*{P4{F#cZHV~pdRw2l-a35+W491JMrr`ZV?@Y_c0;`G2r)Gk zw?$2LR8=Qf$XB5y)#u$;W}>Du_(@9(HwqHWX5@(?#UyZ($8}jTji1}n>dAhO0VPsG z75X{-#qq;2D~+zxGy+%Y(q|9!o?{22Y$*H4^-r_HR(-0UsEjH{ptuMD>clyM{Vtq& z2kiKYpU_GMV{*ck(4jvd8v7wcCW&&5J-Y<|va^FlL4*7BBN~-4f?GXKt`RxwI&-B# zQ@2_m8%EL1#`mYr=T{89v`rU6(gj72q>bIX1*)$?nAQQ{Cht^%D7j@6Xp%a5ZD={E z1?Ib6O1PxS36v}{Z?O@(B`s9vFZ*Bjc@P#?*g45V%2SNFj7C_b7p?LkY6W(e`B(K4xn_ z{uVblWXQ}p`^b;uD>J`1!HRP4&u4RZ{uZGi%<6fGanW3-ZC`&?Csx*)S#wRwQ%HLq z(`)-fGR{lRyD63(5Q(2cb>Z37ATD9_He(cWB(~Ba;31TV#khUUZ64D~K?*rFw_BCA z+Ek!F`I@*47_uIsHSM%b{nFpHy7*;wl}|iQb_d#RwuLvYe|gkP|Iu=@GOG4j7M@Wf z|HFq8IfQ)vug!r3j-vg7!GR>+CM}AKDLjEJB@69dlXuFj{x^ZPH~rhRMPqPfmzWm?+$s5N%A|l%*?I@iHaD z1&YVFE;=uzm-c&%3S5mZKGG;U_~!hHkJo6^N=1omd&M1l=dJDIGf!OU?3 zE`gqRt;h#qZ&+e6V#c9hjW2B2w;;0EGm;^8xCqcAu%etWQkN_B-#!)7&h-g|Wg zL+Z-+=X*Wya8hi$(YGsXpJSV+@O1D7bbp*Ko&KyLyg1)`moyR4fGn+KDxq(M&NLAB z=;y9>T?B#A8|ir*N*XRyt?si2f82k!}f+Jl0U>| z=jwx(r{MsTX!}$C$0>eX;;sA!zC_F}uT_;_%lEYvK2L2C1z={NC%dZ*1jy^3msDE5 z;3Xom6JyQjgH5^;hwFzSFTcFqq(a**yWc%8LeooE5xveI7~Yo*zg?UOXP3U+9PlI0 z?{3lOzCgd`LGlJc%?dWaeL4$h7&7;)5p3Vm2m3(PaWlg|CrT(Ou&c_8ClDAuBVx50 zqR{_xQOr3Ptj9XGSlK@Dsu`z7~w(`+$qv#9%eK9udlESE_=oBJ7^kW{Rqmwv#1of^FIaqcewA=WO(()1)A%&)RmvW?7?a zO;%5TS*`lyLd0@t>1A0plP(98yoDOUC5HCXjsNi(?`sx`dMevTX)tR<<^F-$zr-V>|7v(nGBE}E^{wKX-%x$8cfXkp z8I^UVU>}oCEDyG#w>(^uo9nFAi}_m3wc(gS{NvWJcLe-Y>W)qC*0m`)26b1ubZ}R- zX?55AUg;KY>{K5r>OR%sgf2hUc;DTr*NNk0)3Vl2%ShNPLM(Cu)hR)IESD|6)DaYf zsp@Xmp9tUtsWC-Pnc&@UPPtpC?dZt!>w;sXYT|9!L38y(NIy7xpfW^y7oND@YqJpC zG2~a%W|R~5f6AJcq7PnjDc0)TwWN_B1q1UDjX3y0FD3 z+^Cy4N$c>F{QTuvhi>PqjXb&pLVVt-2j!QhMXFLywmi^lV;z-7VqAA``a8`S4$T^xONxjb!G|;9`%FkObGoNcD#mM_fVepYUOZ0 zdrJU!aGD57>t2&p*{Q^Mj->Ly1-RFM_ISk?hB4Bmx;>lm#w{nNN@qE@YZ(>3{cnmX zr%Pk|IMQ}+RFib9XVNE?)NV;X6YUN^{S*dt-%?T-CdKDDr!BWr zz!g9wZ;F1nvqw<&F#pcMFtQ-mO{=0p|2p@K3bhNWmz30^r;qlf0OF;MN7|)K%oIk< zt4XmVV9!=af38!F{tdvx)^&E(PV{Yhj%pGKa&A~<+QybcnfkbTkTbz%sdPAqsZy3m zmS}#-pW@ibx-i-Yyu%p|c59wmq&-piyKtl4K2e(bi^#%2V}VyNlACZV!KY;WP~i&r zA`?8D0!}qJ(|uKknLMUV@ij z?ap(Q>nf@qp?}P`5fFb-49jo3qls3KqKfofcguMx9X@GWFm>r%V_UsLoXO0iT%IBT zUG6bzJ(=z851B@o+sq531HJ7eP*{H6P}PgzgVSen<7hPi@xI4NJ~=xN{DOC#s}HKF zsM+nBvZGOO^EpyEWSBJ9_m~ zwLcZwUG8%AJ@y(`w05j|$J99~0`_PJTb)x)#p@?qi+E}UFSfMvy$Qj-!8Cwd@hJ(- zyb5;;!xRt}I214zC=~Sc%QjR;nCL8n%qWapfPCxHIyr`JBl^Vk*^MI5JFu;A9dZGt zp+osZ2MRrMquPxDGB-qM zp65<{`@OC?(cvHR8Go|4-Xq!^T-<*tzS#er>ijd(P0aoqG3t+K{r@gCrk^zJ5W);U zbm0|^-!3LDL!wO)%I=1R_+0Gf1Cqr}Fb7aBfZp_X*K?ag{6SAzMRU(~ZZ&&$N@-m6$-ZFUtDbCaae>g7C- zLl~M;=P8Rghs@}F+BWnEP8KRoJKHoDH0;de=X)lZAg-|Kj<_6QzG3n$f5#<` zc>JYvhhcTJ7vBf20tpK_PNmAO;{znb!w35s?!D79k9?r2Z3AtX2)lPW4tSk;(@3}g zrO*E&>>Z#pX}^Q7LtnoUAId!>w8ID(bdc{8CdMxUjqA%Dr|v%(DJMf~OJgBhb8AyV#(zqL0LG@aPJ~>{T>oVMUf$n4 z9W%?nauGv&NmEO6i!TTh$3GAiCsP}BLe781e>0N*$^5;UuZe2POvw802DtyGeE#R` z{+H4I3;wq~XCo(f`>!5Qb#ylUEBmKZ*brd)7xKS$jHM&MNyNg?@jtgOYxw`g0jk)FfS#K7nvKCSuy2U)ixs0MWuv`S zgPpCXBNxAZwJ9y6nCcR-bQPBsQ=r^?Z(e?OrH$RquCuMrt10kJ9&(ihFbYeGog#%I z0~j*uck-oT@B}Tk&4Px;S~RMp+V4&VU5S1_5qt|zVfbEqRfnVisq(EdH8{51c)P9~ zL)13e){mw=Y$_l>;$SlE@$q^b5=pDLr`9lH%dbhEANdY5LHuQ@yL4iGfEyr5 zpW+P`retfKXBNcrDMY_##Oi24No`@_9-%jt4s z)y4)quC*Nv@g?{JveRk_GK09#-sWWx|9f6S2g98{YSSgoa_ze zW0f|ymp@g=>c40JAU}KS+ulNmX5K%i*g>V|of~~;Zhl}Zs;}3)M8fptSQ(|V+x+(V z?k(};mRj-64$3vCt1!U(rui4|a+f}$gZp^L{iLwF%EB;MT?KCR!Qn())+AqU2eiR?D)Z@Bx$m@_)c%_)*8B#C90>1*{)9!aP!C6qT}3g-9K9qN4Sxy1Ly zx%`XyYcoDNy>7ehG4N~oZs0c}B>Ystj=}bk30uCc=&T1{uDgV;hx1W*2toi)D)aNj z{V2qlo12}R^_(jhH@Rz62Fch!WVD6ES~rx-uGN*a*G(gF`xAz~_EYP61bs^tQO`>m za7yj;I$_$1Paue8@K^_YA<2o0z-Sf*6X|PplCJ#armC!}5t!XMku3x=(7B;6WC0XG zrVmg+sRnCIi+>e?{4PEme{(SL>os|!=05!Ng#OA?x4g|(x6Uo0tNtk>WwEotsiz%> zqd2DHGXl1g>TPNu8fTI3;*(0#bA1iRu9K_wHY#}aaNNg9aht}~x%l&*YQHT;NFWEK zQ>8Zan0y|IV2DUnqK+_B5ic*$x|iDafVN4qE3wOeO%6Z)8NC>;*dS`FNtIkw zbw%OZED@O8VOTyx$q+F01VkD|IaRba5_uTxKjBxpL5s6CllxHvSSBK^|2L#Xy|pkq z;CtR_PU+y7d=-o8mGo9BFuZT;5YWi!&!5GUF7FM-% zn)(;UH7?EXQC~|hvb~633myCHj$eiDd0%@k65Lx2gDgs zieeS^#$*OaAEfHqyVlpW3^{R5IAM$i&6XJR^WQW#LTn0u=>`1Rl33i&RHo5?4s*$!$Bo&m7FVhmc@;W(Iln;DM#* z!sS+pJ=r}^p$12fUAhA}Fl;#fr(=##XpQC6G_Ab;%S19wQ#F_8Fi%XE=RKciwtmya z^I^5Vs}GGke9TyTnQT%BqKg3RHAM8MzEg2(55KkEs! zwyx}rxg~LrTL&PunFkXZ=_xB>g^qF(CtbIHXHVT493m1PDhK&V%}K1!ng9j7tD?%1 z2l->_+elU1d>$~E4JeN0)s}PCsA!x4VIv(VC6r?``6`Itb}0HSi9*blkDS07+2lR{ z4K6R*655;I3IgY!y@De_*I^=2$Ud1*iVzGuScZ23%#9mXn1a|tpdp!G-88x;_t9Vo z%^Fmt<1j8gipuvaVt z;zzCG`HvQ-#Sq5$8GsvLH;Q;M_@@%vSLWy?`$%Zn6-R%ggr^yBFHdgrW_^$2)lYFv z9Us`0iI~j-nv{1T@|5+F$Tt2oNs_xLUC4S}w%8^P zkb56{<7gpq5{eVhMix*zR<-}=QwU@isA==lLxMj+-^Y@pH zg<|~kEIIs5xAVESs?&AI-4}L)F!3KSB;h5EY!%#%)goc=M8Hhc@p$;fx8lkKbbHh7 zB7sR~jpModf{qZ85#8CG4M+}IH zR@xL~hhVqq3eStfHwdHcd6!qnD?k9&lNYmVlTm#aP%*%wzMF3iuj_k{w=1oIb_Ub!!wJqo3hRtoC8YAyM18v8xc(BPJXiJYP{MACQxNqM^JJBU)D zl+IxRRbx4Hc7}bjEx%+{o-KaycDF&GiM9>Fs7n>3*NG|>P%%?6^VG39QWBrU{TjL% z8bs=(baV|8)dSu}1yXwlvG;1)FYbr4_J5B=Fb=5khho!oeG0rEb7JE);~NMxL!+f3 z1i$wCGy8+FG2f4U)ILXxpL*}F;j@uOKIU1mezsHILR#FsA@CRnGNeJ(X8bY zPawQ~viQQXbN8LOzcihRTSFIw7mx0p;=<_#XFY}ozj5SA5lWJXoP?@WfO1*|kerl; zDPYy;vc+*3E%hXoLh(J1A( zMcrTsN}0+JC2T5YwFx{%%YtTo45H!g-b1(=gunMwG~XWtLK9Ru8w!qjm*)W>=H5@p z{M%>Ae$^IUs!?Nz0J^s=)(;O3sH5Go&F8h@bOE03b@~)R4x8=QNp|UC2lMRNlsbc6 z6Dejz`1;!k=y-&F*Tod%)7aCD+U;Ow8f?mZc9Y=_mxcy<;Y5dv;Zv_B2E4)mjMop# z^%CcLGk%xp2-qfDS%!lMAw72`BA=M;1-5jiDb86;yDPcyXfP^i*r|B%2LF|SdKh(5 zc8a~Yytvw1k;6f)y@&?QJk46N8)chX2Tcph3ZCoe&-^QiX;DHG%#QiOLL z%#j$@f$KvYmM8@sUj|7W`q@74U5B_AhFyG&8&M$Id*A}e>~9f!*7a_Hg1efZaP!Km zbNAFa1{PF3Z*tUlKj}w8e{i;a(&122-ybNm<#9ihNGlb~r>W@%dOH_PoEi{TljL=< zW7ZLmZ!ib7GHpaQZNYot-ikFtDfHqNVHf$GkXTQx8XolZTDuuUZNRH2kmE^KP>KkD z&*$jZ;}*6rILh2MlnoWZH?RDWX`smIv_rXS60^ej%>dC^Tp2Y;s|Q~vSRJJ5J~f+g zmm>xyA`|m+2O=PRuNfEkg^@r{x7%S@QMLZ>fy&(X}xUtKK|RfWj|Tr4q`_vZ^w> zEu6B+-N{PZWNl@bz5Y^~hNzW{72mZ_skFXRzEqAM(x)N~{U29nz@w0{z}MIc35T|m z#@Ue)Ze#WHw@IP5XQN(Lx0@Gc2)C|o);c|5DCi%9#jlHr9HGFG(k3P5|x@+I3mt8=xJ+dX##wQIm@~N#UDi=~DRYw~6*EeZ6zu}ddWUBo*E3hFKgt_tV3tV0EJC38aW^c= zUL$Je8!qeoQ$+kuh{wDn(~m(S?f1i82u3}Na*mfUAGL%~N;f?q<>1||uu=}!IpDh_ zWOWc+WW#!xOd;zy3s49qEQdn7@cs|1@s{2^#Wg!mnO9M76z3FWhskz;sccwaA|#W- zrs^4s`LQM`4#Kymz&sN!3Tb@AXD2sdqAG`tY%=Y~ocfowJQ)FxzJ5l!@x!J+@v*d6b@)y1f3(GW*=WZ5l^$?8>rj2yK zM{dKQ!n)(Zw>KrzwUSIlfbD93!bJPemDa+vYN@0vMCk3&V@muapj*}~V_^+^y2EK@ ze7b{a>ZtLgMVdr?Y5(s8z%YV<@>CHa5vgP9A1)ilE#MV}SF*5DJk@XXwnFI2>Y;&%Z9 zGAU}CUboR%Jl>@vy@LcS6X~B|X>Cw4qcg6yC-2iiCzM9aZm>gJ(6K$Xs6ALKo^2qs z=-U8%nc^8|{=Ss6APr@b6|S8Y$ND8=22_ku#}1|$9%fEf-UZA{JOW&tY_c(BdRDED z${v`$6sQ!c+sM)O6!62~>Rw?$i{|d8hC!@Y@QE470Lz+X%=%#}I>n&=t zKyi1JnXhGJ=_#hly7ELCJyRha)^h$}8jvyADXw&le7)tMAbS)4=lBS?1uKF#f<8VTfOny3Fq2#UNV?qj)X4EtD&REK}VJ9rPL##Mf z7o1FbG`kutxEQ@@NsL??oaU2dq$J*ZJU0_JNj;U{j5qegI_hY5*k*w zlV`>#c*%;|L03210s}R8T)+>FmM-q)E$jnP&u_=ngUye{3pcPv5CWdIR}@D}BI`tOGQwL1(6`f90pxtK@9tK2lZ z{7@>!6Oy?-C2*C3r%D{$k%G?gr?etrgU-&@QaUPu{;hS~4FrRwf{#!{p}W!<^L6%5 z_TO-bXy(wh2zJWpFr4hzc6(z}pkondM-yR0h|vi02zeyj6Sx*FsNybshrct3&QqF( zO;Mr|is*B0ub%NW986*3rR2pEOO&B;jcFwIC*>Xdn$fryc^UK&Ka98|_l}=9h6gPT2@Vgd z6c~J532h)$V`1^NCAfE--QY&ku}59w{D^IF9sOa8hUdfW?Phbm$O0+a zSQ0-7f*%^fe@3%CPDAvVl>0JRs#i7fXB$(*X$vU_FizthEfRy05TI?@g1pf#nY5-M zd_t4Q%^cryC(o&1mb{n5nS7Ydd!W-NYmzZc>rZiO67j(`d7PSmp1Omtg|li-x4fk` zwqkl&M<_7q^_j?wlI{(HSaN=H+W3RgRLfeQjVqE>3AwhUT+-Q!woQnIXgot!@ z`iUG)3ZHdDz@lBIFYGR<-|@N8L-BE!+Q(0Nf`ftml9}tpevF=Xry0Sfx4=S(in@wp z2OJG`7PrX-BWdCGSJBg-ROD-D-W{=&otq&&&}Ysr)D+_?kSPjN<)qA;x%|8t$!FL} z%nRJKDTYUi^zB~oMtQ$g0ox6}Lv`oqE5mi7@-Z`wQej)KN~wmM z)f>r_{pFWC_M5;p(3ScpuA9tLEE|dyvWxq-bYJ~9L9PLUS%KSZ#4fcR`nZMf#+xA) z8B~olA;<65ZtO)KP8$)jn(?Eg9b+Qn+A)7xYSj-Q_Uzz_clzZj_VVRKrlicOEJMdl+EDpzk^d4}P^=uh z5+MGq!~z4k4K;iFrt5ROw(5M<+OsB_@!xuWX)N;L7rZE7+pZnxZR=eg_+{iY%>5xn zW6-cu3||o|(jFm2Vc@W143~P;3GrJELhJSLN6EdC_nL8a1O^z0k!M=iz&$or1$9{z zU>qqZsgT@bE^pqQ7hZevL|W8cMxj6yvg^4T?B-rQa&#x*@C^VD8?(+J6ds#uaW6yz?}HZQk8AYlc6m+!`;UHLob7Vhk;~URrC$X_V`BpD zCK-t}3Le`gh96R28}9jp>?mDL;q6i&W>>8xNQU%YA6j@0eDFs;Thh4dMC7iZ{`5}e zY6Fc=MRc}}uKJa2gEAXrR0HF;_FsD{K7r;WRl?5=M=g9Ft3{rAN&t|=56I?-dwm-(@A87C0Y(Q@EOQL7K#8#}jzr;r641)U5 zgJq%!f|FWElt(D?3Kjt>h0B@O*>be0X*CYo_JA6y>WQ~YoQVpdckbGHU;VEtKTQ$| zcJQ#UkO}s)5b@A*cCye~82JZ1HJ#+WDx2Bu<1=A#D8rmxDOtIe&~=dZ0vx>SYx@a9 zdIopOf*w}%EX}4FFY7}C;7>|ACNU0mS)I3^KC@eE^0`cUFh5Wd0&RIhl?wh~z&17? zizWRmdx7V0k%%bCZ>wm}wslnr(+P?Qc*SjKD(CucKBQ@CzUQRO?mDn&ohYqtspcIw zM=A%hbq<6vJkYCNrfJkIX4Ke*YR>IPWJxvA%>!_giR-Np;Dl6AM#1FvH>Oc3O`yeR zA&Q8!^dK`p>&C8(>Y%}?7oo|(7m2!4V=4#A8-``E74O}m71|~t1l!2fV;=1o6C5xI zeBu<@_lA|erDq#pj7krl*?`$!g9kfht`Kl0kb^DT!*Fov?}q9k#I8_^q!vhZk@2pG)6BeBcPA~OT6O-u00SO+a<1zAyJN!NnzUO0{<{qaLrzwDX%$y%eY{HW|T49#nDje9d z0f2u~WPB`{_Ar`PDns@-BZXMd9&!WZAGU(dRn|c_4Y-h?ML<)uwl*7b#hBXY$CCy} zBj3h`0pBK5OlYk+U6Yw-c|TyKJi$EQ3~FTa+${eDq_3#ocgn0zLE1Fyxj_bBkyXIK zyhAULu*LNt(bN&&ggunJx;NoEYqatZuOsmbul}OcQq?DHLjJSmRPPQN-Z|M;O-FEP%uI*=u>Nkk&7=d(@_xA%GQqHt4Cu#2u~%W+5^%rq?ousJ9^*}7u2@@=FmpXZ`K zrX*%bAzbKpMb$2Mei(i?@cceEzoMIftHtr#$4&nc3}nus_Put{YdWK<-9X)1^gP%Y z9&ZPKkZQLg#uwT=K~oI1%LkxbqhRtAGUU4^Jtm;57Q~wZ zH8xgCJdNXHEoz&KX|;HaM~ZsHFLGJ5Nb46FV@wy{mXr+JS0~)Vm4ks1WEv(R*=R;pGyuR zwZ^dq)A_tyr^Yfe6$^%ap!RDVMYqw40~0e9$H>=9Xy-#V(uakE$r>qXYsJzqj~DTl z&yp@FQdU9YTRqaTZF+_v%o90yZP($NzoVN99f$@l8V%89Fo~k*l$EjPs++Yr2_ra~ zVQ{!DGEbnPrm55p51V6;;QmD07s<1FCn_olQA)ScdfXsWkZ0D(qQAYNQn}#Hznz}= zQVC#nVryw~9n2D$NMpXgSe5K6MZhA*hV;5(ic~^jjEj+)b*7FiVRr5CjMTVkgfyOHXN`z5PXQ$mSm1IsQxD4~IB zLmv+jr~H_^CCNO;mmTRGbDM+FC28Zr;N(l}gZ_q|bA`#-?XD9NZRC(*Ld*u#j)q@& z;Gn()730Jnddj%6XwH?-ta3RR^h=ZIPQ^Vh|6AUsAZPXvauJDN>LZ~94LE$ zzzp~xO!)gNgEg(B2-kqw!i@VPx8fY?4}Y;sTlzSgcc+a6jCs~tTY5)f{I+0GMfG9i zfkvUom!_up4xXx7Dr6osR*=y)Lim@vvxC<>#2=3MLBBEwfK)mcL%F>%86JwTV^;LU z)0O8f*i)Ck6FYMbG&-=ZuPT?mrmsj>rJh?RI`M>;l}@a7zeQ@&*LU#rAl6_^0M6`5 z4hWjJJ7|*IJyllU*?2rq81x+WXD4;r92@B4NDl+5z~Ki|CCfxl4_^-amjRy=bVvPJ_*~ z=M%Am(?ixJW&kkEFd*pRpVPkxzB1k!?p1gC27MqsQNX|i zA;5g}`&wCuclSkrxxq7{)nr0`pEw$H^!7rXxK@$^G~d<0;LwlGA81|f*nBwDHs?iL z!(?Ii86nUQW}Q2NOwpg{8zh*erW(&$E*Kx`5=4J5#yjnW(zSBWv$E@&y64!0(+$-;TCoeQf|)!b5!; zCVjjly~{|w-+5MfT_4j_c_}TezE-zUtiLau+-V#?`UYJ3I=|q3EiB$%gr=OM43H#+ zIjBj|Xkj*7qA82E;a|PR)VZfE(<7f|lr2=6Vcvy_oHc_j{CkBx8W}JAS%R$v(Ou%a zlf~y0DV0o8gGhf`SYPX=r|Sa{=WBQ|lK(jR$?FUkth$I7Wt50f;MGQ zq6p*Vn91Y(+}@JMBzr#DdZPznJ?da`_I0|gHbe6;lPHtu0!0t)QOa(}ZlLh?H@Z!_ zc`5rOAnFl&^L*odL*ZA>pJ<5&4c#{H0!20xB`+HM`@vl$F8qDQxO|5RU5lw0}&t=xC;Kyc|gF^_R@Kw+@Fy)$E3awhDW^0tJ$ z%QDhRNS!=9)4_58V4aL{&_aXcacih$;FYLsA*xB|0buQLvxHqbGP6HXAo){>zVPVv ziCh6DOVn2m%)1i56(6+cg(Bn^c%@McIpV~`^2!tA4P5lKx-)cZsmh|Ytw2Xib>a?k?V*VlS@Gt3vKtF$0PAaqz(O}${tV(fhqfBLmn zk~2<4NB5lV3Pe|q&{6h5`^a^wJrsBe2yt;11h@6Mh?jsi1T32@z0ie z8)B&pH-{8=Gf5ho%KP{*vlr&}xCIO`s~H!R!(83a3VuiyxP`*GA-W`^Rrta3hmYCM zm5@+8*r>#0=j{fbpOeP~Zgpt>=U_uT77D7TtCv}vE+451LZFHyXt7sd+?JMC6X;BaNw=1Qb>VXA;Yhv}uZ{|K`qu^bvpva#LYvVe(L zQyz{Fj>#bUwm+niY49sLy=x128%j7XXwvwsaT#xbL8KgJ=(uziC*^X?{dDsw@{?%>B-FDSzPT zb(c0f9lghKk~g1Tx#_WXVT)Q+Cg%Zps0wge4}Lkp3@xh4)B#Erum#Ss&RZm{7O|oI*9g9Ap*h1`M{<3R+$ozzCdbQu~){R91 z49O2(Hw@H2?mr`fT!fivqMK~}CPn)y>lpB^nL;7Q8aDs<+-+TwaEPeQ=JUhx4fOIY_((K~Q@zjX9jKg!2~z8u3k~5PJDjm zk4#nNL8-L3%E(mCh)J!<4=`a`UIElF& zdJMA+GfB@zkk$?^<;s=0sOXFN(oaU3Inq*^e9*lZXWkaN`dlUWWLq+e5V_KYIyQnL z^MGltA1t=ybT_c3zaE2?_&Sz{K+ipmk;{oa1dpji| z!74OAqe+U)BrCNVfNuQHhV3 z5>iS;3>0;km{_tUr>rs>ykVYrpH{fFW^$b#ku*m1`R|~65G234M6g=>@Y9G*m4k~s zp{k7qi{?WMEB2zK2-h??oZz=^b(n~Tx`LKYj2||`!)HtMJr`C7ExBtlB3we~qdiai zcXc@gbTrV#AGH+TT>2ZHx4rwbRisT!n_%Le+g2pp-)8JM>yi5kklcPduxmxz3Th*D zfsa^kFI#seR95nZjT5f}N0QfvSA=W68{o4AoJ zGq&2V!{4P!gjAYJ$GFoAW%iJ9Mte@b4U@aPZzT9Bcpia~B?};}`a40HXIV98rr!63 z!c~JhQHBG9?#5ico(HA9a_Hzfm?7V3c#QbG!993A8(x<7(VahDdXniT%6m1*Yt(UD zCKb#O{`_IEr)E((H`txp=bUxKbb*Y(MqkfWw&`S6uO3r}7#j)#qpN0V<`Wm{rgvv{ zD#x?!={(rFGq;`sCZwzcf61MmY!SNwH|0)duC7yW_&Ej@I-_!h^p^7Od106H{HoGH z;FI>jO{apxFP%?o&{sYrx6?Q`^)iFECVvsM6{a&yl(^Pz6N-q-NWvWypD}!n7@tpJ z8XB9K)=-y8laRDnC-Tjaew9^*5>; zpdfVioF$Q!v|v@BmAedHK>eh$(oHmsJL~2l$5?H|(Bad-@E@d1RC`Kt?qv}#ePX!j z%)sVLgUz+B+}(=lx}Z@*4>f1bRU*_F6}ZDN6N2USNWRt{?w8XET0?ELppyXf1Hi(I zF`UfDQWwsvbsL)NY6jx|U$L96NdocjV{7$Ljkge(<6j$K|$8ZlIeU zz|%x2o;BB0DW8R`v`M=Oqb-hAAd?tZA_n}3iN43m=P5~<@|$DcP`Iv1a3P`Q>l$%t zY{wFK&6ufs16VqP1BUzo!ZpF|nwjTL^?rJVvkZaNn%NgwyE#=Tg4`mcg+O>J@$%|h zL!mFR1?p?a2;R+qdJNoY8Tr79XTy3_U{PkO+})!(UQnkl5JhLp3Xgk*%UPpT)6~7b z%cJv-g3axol~C9LB%pYJa{$y`{&HG;xs0@GQX7F|WI1YrWvCYdX$tc+$3!=3rbodf z$4z!^TDr7iRmL;8?jh&t$WA_!_Q@%kykPJ~JX$AKM!h4U%CSqQwI~RyV z_f*YHr1kGA?H7JF3XN4J;)V=l(M8{_XO9YJyT2ZgbZk!n!{|S>H;lZH$`4+bXTND< zb$KAS9MdKa>$Me%Y@j@=&xSzwtmyG*LYV#JltfTOeo_mOQ zkkUQ4*1ipBjbQa{{3192!ac7^D|JUwCm@h+16^Onpw_k4&SC4vwe;is0o#WaNK^Cb zxZH+Z=juB`*<{ND&g)pm2gBUt+o$6r_UE$2RZ=KyUHzcaqx&E5DsUU zFDR>SYy6-FIB~&woUuc%dm5>0QsY4Fy(ZtPwKS)tQiX?;I&X+TlKl)!Y z62o$(R3zg22R-w+Bbz%NL)y9byiB|9)0r+ey^ygnHDCYAn6yP;gA_K0=BNc2_tqI6 zn*m)P8@F+|GfXd)MXw$;Ca{l63nsffZq$^TvBxjN{7|KCOFnk|ViMsZWn~~HsjU1k zc$ApwB}xL!&28Wo%!`DGSD;)xk*YDKbcls`M?Zgo+e6(xoVoaII7YLWb6D0?GJgmh z^ojx&LoJo&hJDX;U+tjNofBGTO;O0HVXcI1Packr-U*lxSAvD&=vk9txDS>xoJqK} z{Qw&8Wh;V0>7UBJr?Lzr%aLjR$_G{t#!4_`+hJj{CFZQg-#C z(`8hc$z0)HM{}1a$6EH#E6WxtZ_VD~eGq`HE4~N|&bniLtmIlgIs}LVgY!w7Q#M0n zn^3BhVS2XEGLQ9S19(8|>M^sLrf27)pOC52SlQzW*UFiv*WF3LL%^%|q@ z&of04>}veJ7|*$`j|CZ*#{)O%JPL2E7}Xprmz-CB`c^5}z=s9&W%apeyl-6X*6QEC zMJUMw>A`$kF9A~9p1fU@%8uf~EvNmxwsigg6U>xXFmS^v499z2(F93$Mbs3y`~8b*D5WJW}faYMB){%12HBxMrP@lMV4uCpW$^6chxhB z@)CPPe_nWcy=fCtF*+ValV5O*4~a2Kq&B0lXdrKcQl$;qOq0_Lt8zL}MV@6FoSLZf z!BtHj6f$+kRc%}`zy)h80WN~&U3Ey#G_kINz%lz1Eo{Do#%-oW^j+atG)fm`V=Qx}Ne3Bgih+QWDifW3m%%r($nv*~)XI8eVFHc$mA4?W z{oHY{O+pzn0yjCgMJGjfNpk=!V#)a9Um1_DaB^YrXlJ}vuIWsKC5W^Aoqa~2QvE08t zzwU?fBAl)ZH!ab1RMNDfSp$WagRLnUQ{o@5_+2^YAt`h2_~403r42l@ zMX8{HdwgeI1DcBE9**cZY^h$9R`rf9(Xs34jyP}pGrZ$rmK@c{3w7b4%nX(O!3$XT zw)cca^S5@JI#V+GVQz9EI|zV(lij1a|2MLb>zroIihI$dVWz&OYPT{~gi> zV{^){jWk^~q?FA0i)SL|?ERQ2`oJP_D)6rHE(JJ*3*=1dHG8rJYYk@6gl5aDq$-V( zH4GAL5++;Yqx9j~KnN?cT4ZtC`3>8>&??C#_%(eBuLRF-$1aJZ*>=I!c@yg;>bZ5Y zJg=8=W=mchV!M6dtXK~E_P11CzMKmiMwO3R&j=-hW|*>jp~~OTO3|Rzgq-W?gh&Me zn?~=YU~cpMRWEj4Q=Or`HL!|J9Q}gQ89IqOSUSt}MOp(gvmXlum_`sJBeZ?n02jjg zyWpWH{Ndh#Wk6ha`iveQWwDnuvqa+{iW0Xjaa>7WhJU!@k~L23QAUx_B7zW&ww4i3 z?mh&QDQZOchICP6yKU_fJK=325)N`Ixvpsfd}c5k67F!0#^62;X}d{(or3=PhtaVq z&ZTV5+g9M+uqSM*{$0xDYos~n)K{jJ!IPaZ*HRjkPxZ_%{IOe zhHKuB3|GI!I5t^5F9tFc%*m~@@5Wwm^xY-~)?k=(pfsQ_b3t@O2InVQOr(I>exL8- zF2&o{QzZ#DT(nq#YpK-Wuj|xc@zK6TdaiVYo;r1H^G8Obzq$G!U!$jjgX<)Hw^Z*( z5j$+oc*g)wCy59u1Yh*Hyy7482a6F1%^{vlyL9&&iuo0?8Fuq!Txd8`&*vMhDYX&0_eN^0E>)$169_hi;ki2Uq_Gg^C+L(Pgt4x+GLILSP3K{9+KSMLE zTKqUgB*0xM4_KSeD{062J~Ig)eI(k~M~fdp<&$m=7Yzh_pG}%6-X5n3zGNmt8pS^T z44>~5ZZC}_b_i>Zmng^87t1Lh?cQDM47oPo=_195z1Bn*ubqYG<9Zk<#)$P^U?mf3u|3rif^%|WEEWK!hFgTv4YVZ_6{kR-3FwiS-<#z}zaOX~yVUzD7q zmN2vq@gssgGW$elpQ}G-7SOd&=rir*TpC)`n-|)^QZfOzG+Y9fz1gi>A=I;IpeW08 z#|ab4>l9heAYJ3+Gd!b{@2kV99|Ovotd(kf`D6lODf>G!!H0FW0QTV=ONT}-iNEn?SJGAm-DmZ?O&R zQZeLMmM!sc@q-8i1nUB|qmU;4a_B%qASmvvuL9dkdjSEZ~y4&w<~z3 zJ7Ze^B4sD=4kYp1V#`XGbrs zv@%}~vV?XcvzeJ=<_yHw{kuP#2 zSk{nC^ssWq+k>hW3en)p|Ds0ELSK#S4bi05PivcCIsds`^?rGur9Hp5ImB&lau<-B z)XwRq!#^sc$0qQ9GvmX6_p>?i@#OiMeJ(!&v4M?*p@;d19(du=s|cvoqfDH zd&Ai79r;t%a3kBil$|y!wJ&hful6{l#FRGGAe>m5>P#BDYYYuNE)0CbwD(5%!@;kUR~dmHJ+!62|Ib^(?xXKE_vVNjq96oop+Kpc-~g1F^a8Az-&Yd$(!bopu-!$Oo$E;hgu4q zBQ%gu&Q?n`g^ES6tkYbmSn@bOm<~PoH1MbBrD)*bL7u6j|Fx(1^Shwc+p*4b{hW+yAT;)cyEyA|BM~ zIPtQ|z?8ut*j+$dALvQisqL3_C91|JctuT`+?SUNUBz7e0e9zl&{=&c--fsU!`xd& z*O6=8qA|oAGcz;eHZ#VKnJH#wW@cuFm>o04OffSvGc)sZy1(wz2kz~2$9->%_oH^H zR4SFUq^hy!TBen16ZysXexcg_}$4n_t!o#kRO4U!|n?%4wzFlB_9X8ZC`+QJ< zHg%e0yhQFz(mSETBL*5u;%`cZk2i|Q1)m$*R!<$BUOx{ss2+j8MnZANcGKJzr;zt- zEf;g>^b?Exs@M)b$uK1m;E(Ab14ok>@vtek*Pa-EJH~lAxs3Ilb4O!SR?4$imNmbi zR-{9*D3I59wf@ZpgYDG8DrR;GOJ|bg{w;q%oDo0rLH3DFzLPJB|3pWE(6j} zeIFRqMgI|jdTR}Me_GomSmh&SPO6sTc7)sFxF%t^Mk60S%u=})#i_@XP@IUTL9h}YeYk^_yfCl zUrh(Q0>ckqZq68L|YrU~NO zgAA@0JHu*)RrKA(&JAQC?u2xP#Dt)QeP+aXe6t-#btka&yP7i?ds=rFJbiw9{%IY> zyAgDedtZ3I8tc&xd#1gm-Q_aoG>DcPi!FuZC`6nM*px+l7iD7pkUx%3TvH?QLxIBm z`vw!hNpz2e{;Y}8J#hOLfGIID2^PwalS}R`&<_qGswdi2^uazI?Vt$kqYfaM+&8pC z;Jd(1(Xp4u=9_jKU!w3j5=y2p0!JT$$^+9qcJ9*kCd>>7LKBHL-$wZ{__w|B&&~|4 zkgcIwU40wM>JzxrA)cSO8NiOq9QON+iL5&$0k)h?@T% zz8y_yA$M;K?{y5+Tc34QSo-i#@#l`~*J7`P(DiHh7=DX-NE^4d2WrAD>o{U!VstV% z9pMVd6me_NHgf&8mupPh0%zEU{7Q92ww|fF&vOm`h`v^GEQGpjz#ab#sTP2{tLBof z3Xzix;@Jvy*pUmlkAF%^(eUVgjRCvmux#8g7?%<`3`CA1T4s#kihj}~c)^~hlAMqd z%?{zt0$&zT!sGuVSM&T-pduTtiWGZ{D}f#MSt(-FZ|^{;y=O(E$w{y&gq1nxO(h>_ zlvwl(tHx_Cnh4F1r7bfY4D`S*=?{}fj(`r;FR!()~W)EOZrdpGyMTR1NXYF?B+ z*ErG6KEgH9HS}>Hnbi8sy~s1qD;9>7VVr2cb|c=^*j0PdZil?KFRh?cPS!UsJvv;U z!u7BV!WLMo?z{D%bAESpJfhrw=IVI&9-2)h+lq6eE;q{d)OPU(#RfsH#LO6;=vU3h zwUou-GGnOoF0i5(kNv`PeYbIfYoHch5w9L#M;*8pqy}{9zPX=IuI^->!0&(J`ZBDO zy6!9P?Ved)(RhTv${@vbi!o66IK`F{D#zf(i4G7rpz1h=!l=vyhCWlfQLs6W15-`X4P z(&5VzcF5aAV@1e3v7c)Jzj*LkFDqTc&SszFG(cqq(0M1OL?o>z;A>lTv-#D!r_Q_> zwBV^7z}-_7)ueT+W`M_h+csx}Tuq98&?i}tJSEB4_PC@Wv!VU62dshO1Uol4vNvn3 zYm__y#k$z+li8h66)n+BU@x=Hua zCdu}R%&Mt`brMdWoAaD@Sl36jb25ybUX%Mo8$KXFVO-o36mm-x+-s&NqGC#}Bm&y&WQN-b%I*5Mlo~c_#4Ipp0nRjZ;SsKZz zT_e(TfsPGWYMs8bO~Bh@C(jbEq_4cjNZ}7p{Hx|ZHdnym*c`Vp4i_|LN)>92x(_=^ zH0n+I7dZjYyV{E!TRFQ2Q>0SZ1}qs4hFcg!SRycZYTC-2`qm@aJ~PGNff7)54DttJ zH-%(%__*iq7pbk%n;s*3^LR8I6vm#Y{TkvxKO}*{j)D(v$v94k#mve{S`&=DiMm8uQaYQ_Y&fjt z7wFcY6yK-F0|-q!=H+^5w7ba6Duy@na5FqCt@P~XlM^f?9QA_XeqMFSc6GIN%yV@) z*77nB>}6LZ=FR(J$Of#&d;<~iwvU!6+0p`8gPv^<169{zOR+*hv0R+*eG|vBm#S?A z(R6mWxHX<$jAQrB(L*|!G9(V;Ow}DoWY^nVdMhyADwOw@;xn@ZGi5n%fy@2b z_|#q3^AtN*#YQ5coqn!5d6wJ-mtIIz*Am#2kqB~(+1GOf&u4Kj(p&f3wDY_q(q)_| zj5B`1;-pv1HT|_sken$tECszvt zd?8gQ77IUcc+1u@Jv@a@H4+ccBQiUC#1aV^A~QY~q$f~GIvE<{xMMtrgct8Qh%;J~ zaQY%`afJV{J2^wGYq)>A5Yh!yx~nl~;S?!&JjkOT$K>Bc5BQtnvN?^p0t*(t=qvI3 z=o2vJ<{YX4G54}W6FE*k#_lq1_1|*qH)h3-V2-FKh4$a}eFc{``nAa2z(hDle@X#Nfg3p1D0ZgY$OUHnb7|e~QQuvOLt9q;VSE;=c|F7Mr{r0L`Gm;?tcR=0l9l zFQit4mZzugESVor6RKxaT9*;H5fz#1;M}O<3S=ZeretPXG9|ZoLH2qtXjCg}q}GFx z=IOXb(h+=jdi8SZc~{fCcIWZrc-KnoP2^of?Dk|%5vmdqnuwU#Xpwm&&p=9RfR_6m zTN&wlvLLGK)2qAHT@G7}*qDoOZ|L?z+i>F*E1>9{EJ?~4^An#ye9@+s#4nt zn^8FZq$0=#U@jL8*Pq*)@!gqUgBp_T83uGxVa&1j>M`V)il?wZES5UqJ93)A&`Jc> zGT}?T8%(-8-b4_a!--K57n~QD09ksC=^jr7WzFToryBj1@Ey1$4U?Iq*0h(2WtEN( zr7MtnK8)0(>=ACw{LAZ~s%@J);1e?(ha_RUgiG0Q20p-G>5M=9SU^CAc2GM`kL@ZV z%}GBRc#O0Wj!Q;DFCb?o{?feJ-85eFx{^X-$997jXK(bzN(aeq$bec0nA0jpjKB zn5f{471*jOtg3o!Yh@A9+V@3X3dDRH{1~4>Vc8a031UsEtd<$|@ezd&Hf!5xBd|Q7 zcPT~57dZW0r0x!}>|Kh3Jo*VBa0rw51X&q)$%BjN+6j)9dhbz{&tru>@6cHnXw(zZ zAWF}jBS25LrLY&AOq5IcvU9r0Tb!YQ+gBAScH>dohGIE56~oWR&FNE_cOQ5O`Gd^8^$@R-Dcx&*u{oI0dMpJ?M_zZI9 zb-goCae5i+h7{uDMtz41H#zg%zGU2*)W-F&^Rha$cD9gJ8Mj@t5l*EREgyxLZ zfb+1^k+)TEU$MolMglk%=GeqHMHq`Cgfkavg5m(H-E9^7vJdbIh3)eEbk8fG^%dk? zFMA-wNW6C9BQ=QV^HD4>Jl{ff%W7lA*LK_@c%BdSz+L@r+07HLu9`aY7$iI&5-!N`j#}uiT@GAZ}xMung8q#$WSQU}SO0 ziPRIh77}trl|XNO~m_0#VVecSQKqRY-h&yR!LamZVHE>?JD2>~}OeK$Uew zUcr1uG)Tm=Y6nouo(}d?mSZ;w{ifhoN-=|B)R?GPo&}L$Qo&PLnhpIySxG5?LGTR>%zHqAQz&!l9qLL;Ne0^?3GX&QjHFxjbhphBXEP^I`Z3mHbiTSxSt~OAv;HLb&PU`tzsv1DwJej=Z4u zz-hB*mWJCq$(N?{JV|tiMt{^{5($q+AscbP&|6|-127S#KUD;RgGh0nVUuj}FsN0> zIn@yJN}0if8&cCZoT&26y?$T-7kg0VSPZN^kYI;aN655G-e?>o7ce$B^@m)TN$7od zFlP*abcr{__{WBa5)AveoeF({GPPR&w}f`F{NQ`-`>Z_Aly>}^tOvY&Psl|$?k?^A zdzMht>~xtv=#zkQK^NS&E+NG#Ry3MT`QQvNRq)ym86Ei6FxHn8S}6BT_a-r;RkvIxRBhp(E0%o+|T540{*!76z{*My#Dd< z-&XDjNQ8`^X!HCbZr}(>goa=`qm=G;zhUUI&)aLzl{pF=1Z! zF@GQTnht7ua6o6d|5jh#HQy`{&AYMSlRu_UW~h2kWu}LbeC2ISq zvP)QCdFxDSFA}CT#Y)^0Pz7^POPUsUD7zgF&%+hy zM8Y`nmMN^o`+l;>{hb=U3i?MubeMDP$T!au)LJz8dXpIBMXvn1BK11bv^tS#_WUwm z=)jE9z#1xr1(OcAp_;|iC98_D>Wmo7IlXco<-#LU<$1-e@75;ewn<}k)0)S(O-T)C z&1j7)mW4|jyOy?eC|-iP!6Uw!#Q~&D?I6cO|=?vKsMF ztEsX#NAPO%i2_e5y79rvsT^nNlDgSoBTc)sGFKwY#-`I_ETiKM&{9-hU(tokHtIB_ zf-atmL5o;)Dvsx9>HQ-(-gq$?)d3G01Dc)@;Um`Wa>78{%jzt#B+VFFt2*2;r#pjL zt{Vjxv!75y*UQ+GHb+LAGt0zJ;U1HyY5G}E3HxaZsS8FHX#tuhktB#0)JF+ilM99G zI{WUFE|#T}zM@S_R#%yoF8tHr6%ypN{FcT;R2JAtiitD;bfIQPKF$gZqYAfLUn9x&?Ox8mfp60EvZIRPWL~}7qm1oB+Qp;C_z!Uh) zBel;hZfQH{mZjvJ>zol~LvadUiA#HYluF>?h3h63i^zYLk%T4&JIyubRD(pIv`rlk zXvCoH=I~KrF7}+6RY|u@jKtcP!mx7M9gDr*uKgN{WYh&W_sO~R_1z&@E_=(|4<@*XS!v4C*EcGL!$IIR^ES6xqRp1{jV9l<%cYn=;2$gsGKF? zeDq@pk@)Ckh|%yK`Bpr=CCjmas))xgJH51F$;5ncsUt<2Icts#u56vTho=hCvRpz$ z7p?hjV;JLHeVdnQVpxl_pXQT31ENji#B;ykMrX&SIs4MlBpBNdkyO*_q=_o<0- z?y_n}yP{uW3m;1HUR$umajcFWY0*;HR=&SzkzsspwCZ~FXb846z1$*5IGb|xqBeOW z^juS(C}=w~rl1usKY}NLyHZtH`{A|{wWT$X{`$0=nPQ8%wG^#*migIuDN*o7i;_0z zuvxxmN2aw7B`J3u=K{8Y#1bJ3J*xw58~p1fs{0=LR`!ih8QE9Y^KHjcdv9lH8tuB|qZqRgi?S|H z?#G+sp4_C4N1&Ted*<{;UF_(?oz}2mc9qlBsuypxRh|0+-SE9-Zn zaM3SfBA+Fx_-##e%>M&R_;2}tLl4f%%8XCL#K?@#NdL|X%|Oq@{- z`{RDB48KzUDEUX(e_ZirJKjhAkMyszf2M!C*ZXzvd%!P_@PBFduipLQ5&!d=_w=te z{L1@d`!^Qx-`<0N9cq?e9sJi9<9{#z%fi6U_)qe`Ju1-V$bA@@3oCB-7J5%G8Unj5 z_dZrpWt659jdtRY zA#!rl{_$Fb@j11G@j@fH68XU*-^C^?Pw&n$aK!KvjPp-j?%rNgtX?1Xvb+o(M*w=I z(I@(pNFYaXL`Gp=m&|&LY2g$eAaIrl^<4L_6usCPUmakgO10k7Vw}+U)_$r?G|e2f zv12bfJrW-Fju$wL$k7^_b%xX1!Nwjb($|w64*IMp? z1s?k`B2xOB7qsii`orQY=!DZejhW* z^3JFq>n!ap<1uo)(%ThXHi=xUkMgjE-No3GwX1g>?@fk&7I@d)I#=SRr<0LAEiNxB zFS2boH?q`)J3OHI%f<_9KvP#}4j<5za~zdqp32Rrq$dV-E>7B(T*Zayuu+wdO44)u%Z|^x7P*&&NC;hm3~ne=aLN z@9CayF65t`G&$SMxqa5w9BJK6nMp1T45>+-hOKr)?d5WyF}|7NQe3!Md`xqp2!g2n zQ8#QiQ(Ip&a(hUrJk;{zgMe(wwzbW8(cUHSh=O$xlEFC9 zH`M*{MKrFqt)Rj^=iSshG&IG;Q`h5S`CZ=E^Fk-9^c%mF8?J6DXLdZsHCDPGnChDw zk)L!zrBE9&NB6!*=uT;MfPCaCsnvE>U3olM^~~HZsZJWzaHT;TVnT8%!doy@xlm%i z|JdSFf~UFonpdsP`7&^eyF`R)_0)Z&R*|YByv`o1y!WBTyUYF4oU2pv8r$8;I#wz8 z8pKVxY}>%|D*0MJTX<^JMU1Q+-Z8o3_F_3wBdWnxg74Ip7zZHfYosuIX}*qukOt;1^M z9ADcEcjI&KgYMN_qgZjcW20^X#b*MeD%<$@YFXCKB%*?)dqMZC%bd%=BD4`*AM~r~ zFOuW0UAI?SnS3vi?j9tEd(t!7Pn-K&pI$-V7`zbMUmn)N?lZQ@Dt^-WuzgVi+wRc3 zCUHbLo(V^BH#wVYQdqt{GEHe_UjFfx^Kzrr^A^NYarTJgsR!T}K_D-DJnwe7(%8v_ zQ#J-C8x`RF@B(uXiy=^*P$i}jOd_g!P)#z~)H#bs!<({+ndrQ5RxrzD;U~cDNPxOj(q8?VEVqoNJI-g6h_GPEYih3iW3Ei5i`O? zUwN5EAN*USvqqj>-gdURkgOI`b;@B{hzl1ck~Luhay32X=WHPvO@eQ%0v3=?gt$@7 zBzL`AP5Kk_GF+!|-wD2omVEw6piYh%$I4B9;tGG-MJWWH^EN;9&wFqVL>e{l3Q%-663M>aZLU;km&9gq@^g3fa)% zR3O^PH9uRe3H&EWg^2UXOb|=S8Q6s7pxDyWujRfwxH6_6VYp-UGhcEVz&WA{qPQ?1G)IGWQ6~LpO2y?LHUj0+0n)-*nOZoT-ze~O%&xlw} z_4uGlQz=Yb63ieY9SQj)Ycg$tC?sxdGd+^2CUauJx=w8;GHFti#pS*+YsgBYtEq2G zVJtvo66DQI#&t(QQxAB`S$rCyELtC$Dc#Pjobpqmp@hD$Wa0roLX5Cjzkq!@L?~zz zubkFs)fJduv5;%(3Kg5%N*#neO0Uwv&44MIDVx(U`mipb)Z zNsBxjVk`Q|FR^Tx2f(p4Fr=Sb<~I7Jto2c0AOHfBAfjULr24TO*aYlYk-3;sL0`0{SuEI-T0IPDh; z+v0uPFT~fTv8|JsQ;91qe}L_^b5SZQt(XUU?-(%wxGsgaRCtt6;s;ZXlxMZDwThhb ztafM62Q=HKS(R+&wto2ONQG0j^sHZNQFe8kuGtw&#f}Z za6C7ER;i&5s3;eB12QL|)#rVs4yA^036k^F3?4-`uk%o%d1l9w^OLIdmmJqURYS#6 z_NQFll4#{%!p-|M8WJH_Kkv$xsI-4|M9iNiX^EyR5W=td{o6MF_XL^APwCm8cCRdA zts%ifRwEjxCIs1fKkD27yD1+Cjae9AD$(g$2@)=}eMLbv5pqaGau%^upEvT*8C;?O z119sQenjY@@{k02)?uoE^fBr3e_kdLU|`bwl1+eiE-LI-(YuzCk5C1QVo9&aou!$%#}6E=qgP9O-rT zDUfW#_}DthPCT z4Zq1R+Fsk47%fQNQ}L)gLXsl@bE+DU}MHe?W4lE z!GRInhZXJGQOZv6?g6cquNP;V;{zuaL?(vNhNb{BLVB(J?NRLS)$0AYTm{%c8^B*h z&(V(tbrJ%mY92BTRHEHbQ z((Ao}#RHL{{s(mX7hy9-b|&UO;q70gpZ-TP=p9!4fwulu*eqtmvI`%k?~E%TYUP_m zYMBJpH!*pq0UbQGAK>_3)$#)H1>jtsFn$*{yIo7HDv^JibW6&946ebY_i@sP6?w+R@jNfC92{~*&U>NoMgWZotX z(i~_8!3+2%EfZD_;+Hts`u)6s)c-rNm7AbV(kxB>3q{+k_jvqWr21q{Ckc6k>;n^& z>Ku-k8K=+cbJ)pkI-{D0tZcui)MOK>pn3AA3r}iEk^aO+n&H$R#>sanSi1$4x=P*B z4mykqc#S-U5eA=FD5TVrVIJU)dG&c1@tEx3^e+o7SN6_!xR>_|Di|jF2df85FXPku zo_M;jZI#&DZ!+S>{=-Q8fu(*n19Fd|L{Nj zs^-7;Km3M4{|ZX~vvK|_|HI!J>VN5sU}X5cSO4tqdDjK}^YQpYne1<*%KmTx{IO?! z2jqXiGM+{C`v8SKI&H1@h}1_}AIS z@*jlMSpItM7=|N z5zaf9Gw$=N4c>}C&-AL$7q>evOXH@$`Ugp*E-ertzlz2Mtjr)Q(o_VEO6Lie;azPIu?@`8L( z9&aB+?(UgJSmCobpuSIi_jq*YSk#GFbQiIRD6q2UR02;$9Gyji!t_4Gx_`+S_Zr(} z@@NUYP>E-wGqJ4DH2G0sTu~OnZ2YP2#vq~r{jhr}>tVOf>{)K3)hKHR+Ir1(&w=F5 z@H9Pk3r;z6Qd+V=Yw4hcJ%!_AGt3p4&YbtkgMq$N)t7>6ax3k=jch%|bfLUfiyp4( zwfTZfchj{wo~Osb)drukEnQMj7h6v!XGh2lp?H3Y$m5 zo}BY1fwqv(!t2_jd$ye=?DMl$+jXhySEW$Pj9F%Z&K4ufO|06+EV*P}9JhK8wx>^Q zm+pL0lwtRuW_E+1=(eNK4xyD^BXY*B*e(YHVl$#898HmDG$61-7k@-kp^11gx?XO> zd2MI#jCjea#PTWtezxbA@4Rid%imq1L1m3aJvAOaFqvw#yVpBUKkwg9ob^xOxj%(H zFg*_q+O?#wmB3t>Z&1bcLATR9dtACRWKuma{kqe_7CY->s~%k|hwEc=@ZRS3RzTK; zQ36hjUxgy;1w!%@;<2&0?+&nNf|=)-Vx_6l3{I*%2Gn8d&stp_kozwK9TNk*~DSBp8HJ=+~OcUkr;_}V3!^b@1a z)8gy{=A9Eq7FuKv)$we$2P-uW3+{rCSw$&hhOzij^+7;(Pb+oAb|nncxb=#HGQM;Z z*XN0yg^2ec`U$ip#Hw8p>3w$T{{l-~Z|(#$1!06kAWzX3y<(}-|3x69oT`P8f{8py zw0z-n`Bpf0Y8sQLsItI2-bMDh;TnA10>UgH@CWc})V8>c9 zFrbge@kAho0*8jc8_ltWdU7?A-6UYG9jE@;DLHl+)eIT&reQv^>iWW{iLJAI#LWxh zg+Ehh%JrI(k5&)A5=ufQwDjtC#2Pr-!-$4zqvCu|p_kQSiisIK<&K5xXn?8h)=wcJ z?|^b!FYR@NuEuYkqLrQG_VngAD=qb17!V3$(A>8@y8Rgxs^pAJFyGHg6RXN37`Cn) z5>Ol~=Z~!@3b|(>hLPH$@ot0i|FKVogOUc5@uI12_T8osRBzHR7c*$Q`Jc&|+ z*s5EiC?Ji)yms?Laqlr4MS2`+GXFf0+ zVKe$t_q`^$FJ8Z$sAR-nY!HfBA0l!JGA8h8&eRl;)`b{izL-`bx)V2Xt{Y#B+c+bv zSKWCD7!a9G+2$IO7ay(Xir5Aof{xZOcHtPP+)0Re4&M1FPFvk#8+)fBsU*xRgnvgE z?e>)qA3hcgn4l5eCz=@nVt^D>fYFyvjFkvJ_A@-hKt6>3HsfdehnH#HP75iud1T*{ zIczt53>L-dSQ^;{-xJ+$@=x8GgBFGyQXGY^R3I;iaa9K_>k*TtF)iO_q-l9-DC?zH zj6xiFN0qFdFTZTf^VD$U+sr!m@`kz1rev&ov;d`0i>^Z0-vTD;QbvEI}mrjq^ z0>J|3P%1~)@%Zl<7~QqHMn5}DIKJ{YOM?+?@ax{{o=7_H3v0o*q0OiDgs5^2G9PPA z^LUFuE$g75Qsf5XftD9p7*ZA(U5HM-~*u@wuMI=$zf=UTQeTuAx^J2~`1T8IA_;A7 zwxhJuyn;hh`6*De7mTUH(w_1cP4dr+Q>P-%y5xcBuy} z!{QJ5Tm|x{{DYr*MnXi{Zgn&@X#2DzR}EUwjA$w<;;6izs2dS=xfN+bnnJa>3JVTv zJ98Z4kAU#1&tdQJJ48NwSK zKBB3^U*o|crP1OLy0~2T{}g!R&H1#U=Gr5FL8$t?-sUam9K^!r5B)OtHVuDEGxF@u z+$&NG*#@dzAVnU^+IbnxvHcL+l5^I31{=6m#(fNZOyU^&64*M1^IdJNF;OI#z|KC~^Nl~^$R&ZuaV^CTHS>Y6>6T0~k#%z<#y#w5#s zEoM*HMEt$GarEF8TYc1`sGgvo#DCf=)7{eDY(b^PBhty!Zs!FWktyim-wpno5&tK| z&dAF8r@j9VL+rx*D)KTy|JTr$`A?kuhc5U3ACT|AMc)4!j{T*-{rh5re}=w-;zGYb z>aWwkLD`c><%5Wk#(k%^tX?YpWu|N9eR@SDTn*D?ob zTYUrDU((#<;`;A8!e4mf|akBPaxf$h7U z%ysMygbaQOd;fO7-%B$5(h6r_{ik^PiaVsc!pzNE>)A*ecM3@g4b#A|J|mOr0Hgkz z)-7MZ2%;pgfWS{m2y|3gcybYV>u*pF{5|=`>gr^I9SHEUM3(ucon>X-4kZcMih0OP zac_-hqkJ9twe4?jS8ragNTV-p&24UD+fDMxBETcC(($&}z>CSGrO94 z%jV$;pW;R5;VFg1p4~2l!^0XK?!aso$=(<1C9tW?EKNVY*g_8?T8cyIt0ZRe#E#=` z^Cz&0F(FPHfs@qXSV7uN2w|hJN|(V^U(}4ra$BL>Gsu|gZoGNy21Jn3%2qh_nESHh`hZSNnpWhiYN_DMbf%(P-J&{CxAK%x#bt4tkAp`p~7F~hLXfvMBDTvNGw z@(IY)*u7Iie>iH#Pq{~j1az9(0EY^=mfi@*6Y)l_grx&~9TuNe&bAgL^r<6?;aZsV z9%s7peVo2lcJ&1^G7W>jcDbft;C!h{j#N*J69lsyZ`6pq7ZX9l0S_nFv0ac?=3ew% zdRjVEcS@g6p9K^XG@i6gmRMPSmQ1xBVs`V;YhBq2wsJX63-SuN=$Ii4V7-*ob?+JM zbKB!>s|5(4l@RI~oTpBVrHl!|*pEhFgQO3PP2Vd-8uOOl^++Xxz+{UkaA-j3VL)}L z&|eF)8Or6*hB4tPy9D;c%AVRL7^qRF7?clf686Tbp2CoE3^CF8h&cNq$4bdDzAy5n z5{VO1D$g>8!3$9Vt2rmzoJU>uk$9I)OwY>7EWa@38YemKXh>S{;*c4+c{^gbU}g+r z;tM3f?}DlgAKmcwUx{k}c%Zaym6b>slOv!-da)&@)l-5_)kUrvh+t!o1C<;m2d|VI zmi)LeDVOeP4zZmexwW1!>+?|KC&roW<%q9@RLbRsiU%0l2G`mh_OVJ1zRL1`osRUR z4Mh?LKEo->yuD;kM#2ddL50}q_pWjOPFjNJy+;ZyKsfB54cImEB*t5fq?5-QxQ{;H z4>=Crq?|iduj;P<-eS7aW-#}ll<-lRdWREw*bEKDX;&3};)ZT*Ri^DV|Aq?As<@)z zp+_Cpo&4x~{tg^>y3361KHehsF;b5}`wc#mod6~xLEVWF^0-kq`Yrl4La0y}p3xT>Mr{GNB(k^;EV2GsWvDjvs~`lY20;$XxVhWfAc5t+YC+#M*Ga{%JF@^cL|op zMyfiKo$`kgv;D4vWl9W7Xt;^N0Lf5gJxhr4Fn{5lz5JGm4$()6`WZeq#|T2Eos#2=P+4KlnZM*?P)t$X|5<( z+=d6<9+Ayk4=S?Fa@tRL*>Hw3eWDGT${s4u=uFaBibW`MU(oFzpeOF;yeW8IG{Fal z_K`jV$wKs&car^b5*Z>3cn;UC2ji4~4)>|29L{B60J}Ns{LnN_D>B%mVFNi5$Ydk6 z1>AD)J03VKn#L=M3P!l8DyTp5f#<^JO$tc}d?n`iBh9&fP&Y{$rb0$wYc?W#W2u69 ziRB4}xyow1LW}F0)XU>=;PYr9skF1@Xsqb2LB@g-BT3)1!cOCl7G56S1$xWN$-_mg z#hTES{Ni5Xy|AkCc#5L}P}0r4h=Io0*y<3)ZZHdx;1|B}xMBjVJa{CM7($#}bRjtp zrqA74y(MYLa;mwtDX9oL?;k_L7Np-CWzkqV@n^s#4@gH=)?Evn5|!XAb|(=ps7XKP{#ez!z3 zk6B1POv5T9zIPve)x$nYEGso3YkZb~wZIJu33bE>O!J|+7^Oloy3fV*)uovu< zCn=O-E}}?RAxD$Cc8saRnq)e&Y)oghO9+ypTuHoa)nv$Ih|5Zk6*9}0_mF7uF$<67 z;73T3UYJ=Leu=t3_XzL;74GnvGYD3nQsZ@s&Na?6?_(saPO>*EH)sY7*H&76mhNeQ zw*z{!>t2(Fp7;4`d6)eJJPZuEf&zfDl-#_%N5*;N$LR4FzuuxB1<7v{EuKw5+D^tJ z5g?y!Ya!W3C8Jnp^X&{#>E>rMXAz^Cfp1ZuzZ)X=Bu|EBob_@z#O7gGn4lE9Vph+* zGyeR@sw+GoWD#dDO%snW2(PJb&f6_0v0I*5`52kAe8G@-TYCR9ojTV}OHci6+CJqc z+a|?unD}TI6Q>kHI5|h>J3m&MQMW+?S?x&hl>(wR_(c4F=gfc87AD64^ zsOU?u`|*62c;^VVTwm0<1=|ULiV9uVVZ;)$?UQICXk{U>exF zTkAx1WETLgl564;cf#|zb@x%O%biw9j7;!0SdoJcH})h*+^)yyj1a@;`zW_%boJ%L z7npkkawyJsqM}-$Ec@mjFy7gR=^aPlmIg-ZW&g5oD7p~vtcX7)9?a8e5-kq6Py4l}nj;_^8Ept08S}-wcTGZQPY;Fxxk{;afN!jWimDfaZ zg{G`bl`*UVChvEoX_KGss}Yr`cdS7cq`#_=rBqxXRs#XN0R^zn5dLXk+i@}L!yaqJ zhLf>oHCvn2W^qU*eSJL<6}_KJ7wW`ASQeDb9Hn&SEPf;m*Wv6oC31tOyMLbQp+tt! z4e_{j<~kt$a1{gYNNm+R(_Nc3sTVFu_15LwqlM!hI{o@0NCnFsl&(|Wx7`q)2km+zFq;b=d6sUo#HObod3K*aLcCz| zu~P^uo{{~zC)r@}Dn>$)2$SVN)a5oO(lrvsD8LcXbbh%gpcS*?v3OI@(GZgpLbklO zyv9s`r(1oe9{I*HBL?*u(QI^Uq|-oZDy;l-Qc3NA{A1xp1+1>Ds`Xpv*JnkX2?Vrf zkohfinLdM8pG?_fVL8DXIf=yA)|LYCckN>j!okYhpk7f8DaNr0YB1T81n2d`vUck#eCyziky&Q(_+n}96c;y>GfuPD8 z95lzn^^S|sNpNTXkE3Ltn01e1s+_L*(XN(X%F~ zkj7C7RbRy#+GiT6{k)AG-HqvxF|Lby<3pHSf^O{+rMnfrzU(}^94PUr$9w1QJql=T z0cD57htw0%?WQ->>aAv^2VUyW^um-)i*$#d4~D}^q=IVwsAK#y8_gY6HaW!CgIkTco<|W02`hJk46T_7 z%a%F;OMC5}E7t*yq=$5&ERs2`&N`i>tc`5%u+Or{=T76}Q6kj#q(9|PIiK_T>}rI2 zbuC)91d730G8fvG{`f$)y_RD)RXrorT87&3j$ARtDp%_ZDZj9qQOwK2c$E5G)zM8j zWnMR=G3~c)7W1+GxSbj^#8O4*!-Ww2W54V;%yT`M|A)M{42~RF*0jygW{;VfnQ_d_ z_L!NOnX%2x%*@O%rZF?an3-wJ@Xfhr&z{}8cjNB=FFIOkl`2b8MoAUb%I8fBB}qzB zlQ(PxZYG1|?__DOjuDJ|?9*}N-PtP~*ziuP>S3)2r^T#QV83>wc%#kZAEasGKaX{e zvV$=PGqF0&fjb`du24R+>Z>M^ECqGa@yk&-5Yf?sbE3gRN`zA5g#vq! z-o9hE7>sXvY8t^mw?bz84V0UlL^E8Ga^7qmkn6TTcON@O3zqxu@Zw!0xW`3|1yf z#RSJUgh?EHbjlJTd>{64OCY=WCErCyeFAZUTX<05EK z-W{9(X$=XF_-Ox>wo)9v0iVxD#4b63`&L*ogFx-Ju_Zj?A5l^yxT8Jjw6}>TRm$GJcl+lL@lCHa^x?Qy z@Xg7IYX%7ZY=}m=cMm6mEfH>MAJpM1DjU{#ky#iqlI7DZSNd2K*Kgcsk1_nM5U?2X z0ga&$O=Zugg=u-#K>_iu^e#jB1&ssa!>!|?v3N#WIBj@ZdzEp#-!x1lX%!eW;VCFe z9K6JWh+bMgpwn!*h2@8CZIA7T%(c`55;_2cFxc4fDLZUJYDTmC#F`OI!zYEdO3F4& z>GWP-CsN;~?Zab(8jM&chKJH!=3*Kp1yWxFCTHLee@*!1Iym%7dG9!8# z3EzRkztw4xoC&w@I+>3&1bKxFpS!qim+DWkqHCordxX(+v~tm&6}HoNz8ro6V!eZR z1+VUL7Z@W6N!(i`*|JD!w()S95T%N-q)|We8+Ah+hQ-!;+qt1Q)o#T7>NOb*2 zdD|J=A#lH!XFQwJ9ZixB_7g4Flk9$Q27NikPKdVF`#-@a?l8LJ#w>FQBz-Rzcf&g# zspzJ|=&qyEu9K$rKvUv3BPt1a@Ee_i8*+J#-QM^LLPYwo?B6IuA zlkL0I?Nj5ZYtKq2B4<2S{i--p`rxu1- zH3_c%13`SG11rWM+f)RH#Zr{m$qB)Q{qLL_bgy3>sm;dM5yh;&++@r*N4czQG<6=M zuh>QV_k-;{z~Ku)+sZ6WTYX!NH7YKN*O5LJ_vb~OR*(WzUf0v&x27T%X;hMLHVP)k zCGx)~eg3q?!Mzdm9W5xp)p=*XKA#)(PCyc}yVTWdQ~cU_`HYG)@QnCDlQ!t4s7JiP z`HGGj*E>Qx%re=CYMD_UjlLPLylX>Mw-~$-))<~fSOk^kAHEv-TV3szrA{AB$MKVI zDx-=5rB)a_4Pe{-9SR1=ewR;iX(_(O2Yn|10oIyju-f_w92`j|ujAozi zHWMVQeqpH_q-i>trPa@O%d>mzRu5|rcv>s?yfhqkqT7d&P<85H2};UKRtrZP@zlZC z(g^uM?m*|$T=Lv6Jlj`pQ;0l3q1Ti{50g98nlQLZk@iaP{ua=l|O&`r5uenqmY0=u%A;o(}8uQ#>uW-$OH)KFE#{uoV9|N-ZbLw zsP4;>ds!0m&uM=b7c^og{TW+xomm!PqaTqcZ)O9p0$?0OgtiD{og217Zy6e^h9)ei zd6RqVVaD;^53>fvt;-1OxDAx7kxgkbPsY%R1(JA&T|~^+A$FcB!nFweK5KD0Ut(|q zM4tO25rYhgLYxdPkT{fP5;*pRT0F3V07cp|?({*-6sV1cH)R|1htUpS*hf#sjuLUex z^Z z?OYLub=}Rf%7HWtxweT#?>-3JFyzo}1G*r8m8{e?l(_6e4~e?_P*S;jwvff($$uZ$ z&wZv>$t=w5Ex~nH(Iiq%(T-V2`_Mj*B5=~3O!am0feNVozx=JumK*c{9rw@Dk&W=m@|#sQD+hNihv-IvCC?ZI?^7D^Js)??>(N?X_Hog+3D zx>Kv6;7KIF(8WlGA?ghW3FKuv}6g>OLDIOOaJ|dE`vcjNz@+zR1nA z^qtYVsJoezuw!sLVSYNzUF5*s@55z=ev=;2G;^2B!`EM&?5N^%oaj=)1?=k{UQXtB zRR0aFKHz@_ zUj`0XcU}T$(VQX}TmwW+hdyATf=LZIskj=?9y7NZxz6sG++TwFb>*IEboK`)YfE?P zf)#?2oPY1bg(%Km+MIY(Jn#cvbA#*Df=tuoH3(OQdC}u( zG(|5`g>j)P;CR3n{B?C=J$ha#Wwaxa#OznQM&VnThfFfb z_D9LYt?Aiwx%y6 zDAK7hk+JbF67H|7@Gre{Pw@aglU4l&mIP($Wvk*uaYRzb6R1=>>4k{4?6hN8!c(lU z#?XP4u7|h_q0bF9AU)%GYQ5XC$m1cKK^(+a!%w?B-1oETKDk-4sjW69{>o=?o!)lF zXFi)@eUBZEY<#}PKZZ_Uzw)(q`M!T!OQ3vbKVGvpVc zF+oXb{+ZF(`)7p9tB2)vx+~Kc%*P@{6kT5CEHuZszjhcPgo+HLqr+I?cn|AXEGtpQ z#>(M6I*ZWH>xj{3g5X3xjb#nD%IrczS-I(`qNB;btCYfG+F~?Dd()VKVR{L>v5d*T z_c}@92;+2H+Db>yo@GtB>q?jDe)n7&j>F$;Q*Abz-9J{xI{akS!xd`ur_auyW~@$b z3b6er$c83asITfP5o0FxCN+#5zr2C~SQTDI2jM6}j!3{loB&d;QE}kLDt+ODihWX3 zwE^K5@C9G>0`>J59MZ<5=>Ba+Tis9JR9jWgp1#jkkp7bT4Qjsaz@l`CQi&BODs<*dj^Cszd>zjXAAL4+`T$T29V{Fb{V zUfkhEn27s#Jh$Jblv<*>qWLncKwew!PR?REYNtYDRO~@%%>=ngsS;_R4iqlAWoWW7 zmfB=WzZrA`NkaX^Lx59pk^)x9c>8T|%QvxwwK_bxIr4ci zL`$kIAO8oX;dphU{c@n~FoNm>B+_h?3ULgZlQBzZdMz;#pGKf|)pidRSLyV&dN%aW znV}J|uP;*9jW)J#mePYRm99+hda_Z257z5Fd^*K6V#?*zrFK$7CRK)WeuSDam58e~ z6d5VhEvDMxu1u69)TiYeG$KqC$s7(_q_zWRFTr+*|1_T2r;+m-iw$He<>jr3M7WIw zWo~pAk-saI0O0PP@!;zjX^{6b=z5U%Citd}^}!wMQ?I`+WE{&cKNlt3r#ml-?&lI8 zTGTI*YGl(Qu=vXmX7Z?hy~MU?kvS$*6lsx)ow8yPd5H1AT*@Lk(QeFdPGMHbFn)5+ zl#qQC1l)m?QuW6xB>2S{2?WjJP`n1rG{VgJA~^LEh^udv3Fnj}Z(nze`(GyeiI6sS z4(p~7D}`CJY7evzc(2G3yL@~|_JX*xzbyp3K=H+|i{b>Y3LWVsm#4lKo}5jlXHT|+ z?}I;zq&8Rj6@nIqLY0`G7@lA~(1Zy(5D*??{18pI2<1?FP_j89hnggk#QTiy5-2u< zPQ;5TEjN8?^X?rb)}(}TmG%|y4g3U;V`wl4jWsyMC}WTPHZ0#y)b*A?>{IX z%pWixKzU;2^OH_Q(!UgD%TDZ1u20xr0UzML!P7A8u|oJ-`yvHH6^b$=!nV3w^AZ+V z2QqNUK}~^tT$si5glR?uGmu#=p!N{BD@Z=S;pd+~I>9~sI31o)VB81p83Xm>!276H z{J`J6;M*~dwn2slbvD8Ih>W+9j7y9B#dk1w`zL-f4?quq@_Z5pMq$3(t^>>3W(gsu zb;b#KN|{y|?k>Qwc1KR&b_SUo&hQHkU<3X0K%eA=-bo|`Ft{GEU-8;;YK1)B*d3nQ z70>Gml#8!cmGuFK)A>y&c_(~0LPF7_sVL4G09Rrt&uu`*@oZoIkh>y9Kv4c*F&=F) znlUv6Vf*aU$B!3>Q_1Q9t7;UpnZQGh2+|O9{@8xA8~E(im@Eh8=^<{WqHi~%*@({B za5IqYqUpO%I)Su~2nTFCW*TLwKeHKs$=tGReieCje7s3b%D#Ia=@3zM7z_)3T^mJZ zNEx8_3NP$jKN?^%L+s%-fQ@zdlR&BmE@o%E44!EE{CLMKM#dHGoMTlt!U|bn`TKf# z75dIG`NH!j4{Z&Gaow%*67bG|55MX~Bqjq+4 zNLKbXN3SfCqc!PjC59z7G187LB)$U^HEd~x#VjjYX~L$wi{}mR_ot8CJbG*9=M3)= z;b#5}G>wvrk`NiSi6CgFINFs=MRnPzZk-)EbE>+k3VVYCJb^_XW3EEH?3zRP1``ZCU%1VuP5BW_ zg@n7?I`hVC%*r+)-JVk8>y<_w-~o`%mK8sJ zck{k|3iVD+bat9OPLi+kTPGDYCf?Pw{GL!B0N=*Pv0f4s=SjZ43KE(mwXv{!D&@uS zF2X--1|eG=#hbLY#Hy0UALwM6E1+(3xh)I^-E>acR2tZD6fcPFX^Cf?~dr zbdjhr@bzc-a4qcbto!DDA;zlyX70)^e2$hHFO@cbm&-{xaK1iEN7a>0u=!A9;cE&B z8SjL@Ip+@^myU2ptD4IZS6WibN`iK&2_1G~roj2OR_E6~qj4UkakV#m;V>1jL0i*|I~G;_?bC&m3^T zElDze!C4+avzlbXy+dkio1T+9H&q&6mDVB_YDyyA!+h0a@=C|2IVS(i)vA6N$8Q?% z0Z4F5F_NE_u<6RqlM|uWvw=H@3#~66f{;SaFUC%$j}yyeHor(nXm4CfOb+6^#Wz_B z=3MG&0cEb+zf_>*r-Br&smzv-xHYM` z)v1_g9yV?swndB(W9e6Ji!!UDj0waB-caB88A4CP6Aw)T)%p!!)4qNhOVJ}A$Owo_ zei8^rg2Pa2qeNPOd4Uy-Qlcme;kTe#P$PTvWg5d+66?QV2`j}Dw0tYDxXB*l(1M=v zx+(udiNYf2OWJITCo~Fio8Cf%f(@gYFHe^o1N6W<&{pZMRs$2-ce&x-W2D5fTGpRb^5OMh-kAZ|G+zZfdd6esvwMEE%#d7VfH zZYX3gig5^21R;7}YV;!D^{I&C==)D^PsS%Ky-qGr%rL0v)XKsPXaFdkSkF%~oa zos1l=_v z5{Ky#)CX-SM;YJ@dH6Q@XLhMYm`el(1vcYwb^uU7NJ~TyJ|H3(jjRrSX`*&RyL#@B z;fj)F*ON-!G%b_0!9i*3wo%=@)tcL!Vf$NC*LJz~fx%3C`Jt7U$5Dmyv+-LMFDp+M z&l!)&3Y^6M*4DdYAdH!eH-NVT+kAIls48+hM=T{%#F->oQ+PLh87g{Qq|^^ zvXquvzay@E>`C%V%LZnqq;{{*Y8>2LuMpE zSTrkNwX~G?J_(5OQpLk48L;wVMWKRhVQk1;VQL^MU>Gfu3Qd_RKVE@2PM86R2UtV< zrE;Sv1zan6 zqz&+*ZIwDi4=4fri*GQ1oYdVyyGUrUiqHJO73yyBT~$DxqDRJnA%IZ{tMG;dh)Kn# zu!{^lrot<}p#y@WJ*uoq>|z7_017IrGKNS%AwU=PGZp+_l)_^iQw8*f7tmL7Lk8Sd zd}asgD|rMB?4!9UJ(B}RsQ9FJQ2CPfB{6nlS+HsKo8ng!3`W>gW9IZ zffLw8^}cCd39%}@D-Up2Y|k06MQc@Dl{NeZ)TXv6t`8ibM|-8-lr`*`Nk+P1#nC=y zMb(foL;z+{RhQOB4#c3@<<}<;{6SNDhED=XRnZVPqy~NmtSD&+8!`jM&}vKS;|IV1 zD~jm~h6KP4v?IlIIYSJf9)KUsO!?&Tlozy4Rq%L^3c3L=Hcfq*=y z>hBC?isFHoK1@2&1tG%BKoS5D4M26EGFlWbLmVc|0lY=yLu;fmQ69~Ymp8-%{=f7v zv`I80s&pzWYAmV~>JutamGHv+lKg`F()>bXDdM1@#Gs&{?Dif%x+0p*(|4}jST!LUF*FdQ&1loQDO;&j^_ z_pDkzZ{U?;v9`VX-zO7Pvl#P8q)`LSGLE+d-FXXMBh%-ch))?gebKs=R2vgb)RI%! zA@PI?hFuJH9+SVNnMc!_)>KxD7t8_5l8@|>2h8Rea{48*1p@LYX%(&2VAvnI$R9C7Kk~VYW)Ma*PUbRg#o5;w6>JC;SlpzEJ*0O9lA*pBa1!t^`@Bll(mDDpJRQ@twwY(cxINPtsCQF2 zdbi??R_EF4-ve$h2mDdi&z9mzrHHruH*Bd|yQgtC=C6$1ucGO%%kOK+XZRTT;u6hQ zA=2C*=yf@I7)^Nu0kBd5Z_25qg2MXJC(v;+Dyfh3V$@#(?>AqUi0}IE{qXaem*=F- zXnsr!11jUdQ;Nn}2|q9f@*GgqS`43BZKkV3L78HWgo`xy>)XOhn^BLA1p)X>wo@gOLJ$o);_i3kMu;` z-)!@4Gaa%$+Uv5^NS7|V>dDgT_IondoWo7a9PuUGCpQqnO-EUZ=sM`Jl*$LhZYMN> z#}1)*5D^4`JA$|kA$lj&?a*=qF!5D?zdH&|CaDsb|zDT>NKHfW|)y=#@y3$}@`w;UA`kKrCaAKH$ z3^Fs&1L5syUnX&)bSv^YA*XM%`mi%Azv481< z{Ox1xO#kj-|ErF}zcHbI3yc0wMCqT}tr}9&s$x>KBKCI9_BMvj|FxLPzxMt&Dk^N8 z97Oai+#G-7;FyTGIk^5i2^G%&p_uYd(8%SlEj#CboZi1BRQ|T|A0_`U3aJka>+&Dt%l~={aQut+{RiUsKTtf*e>m!&%EJHE zfb$PT?_Ve$^WXcA>3>7<4!vPLRF>ASw7kvj<|%B~n-NN2EwwDPc#6SIt$38FW?h1k z8(1O1evI=;Dk0O65FrM@j4EX#&!aH~0BC}~QAvdCE5$t$LC>HdqtRkyZrNX^sKR+o z`{sIod4Ij}aZYt@yT^DVY_~11^9KAS@d7hZ;^5hvDslSg)^8z%QLc%H+G{Rsw@m{XJ9gNU@DBtxG`6y-eW-&e!6LG; z$ktv-$NId@LT)8S>--iG4^EuWr-4+HQYe`m(%Pw}jTe>xYwtP&UCzgK7@$QDm)0AR zgc251k1&S(OD#)lsG_xe>0_`pR3>+?2@IY9&oRI6L@GO&rR#Iq6^cO}oE5cpFQjgL zrmf08d(nifxzD?npIXTtPOYkytH8!%Rn44>(Q_R3@GS{o<7DoSi@|>yq9x2qziUos z&O&carx-`hTmfbsjRUIXKTXCytdXRm0_8-ZQpw)I7?vawB<0f=sADzmAb;R*j&^;5 z>d1<)wg3=qN$kKimY8YIfRf$TN;~+Ip7eu9#K53CF=`EM}cXsNhS ziGJz@%S;rx<{lmdcw&ZBD9N`f1&U3sir!lW>=2MXIz6|w7wuZb%&A0JUG~iUJc=0f zTD8yAu5-AyEY>b=iIpfL-xWwZkiDDME9*_mt*9VH_;GYCV#IrgReXbaFNf+b`v|ad z^fjfUCE0Y~H%|EhUG2BTA@J#5@^G@QoOnd=9BO#RXrpUl_)f}6O;YILP~b3PBwO)F zXy~s}+$-4oE$?q#vQNK=4By>ck#_7O)q|%rr6z1?hK%Kh(ws`#!BpdKgBp1J*E8Ye z{AwsO;gPZN8ep|wvb;N`A9dnogI>9s2RR8pCBrTj{ZRbM=mkqt60w!Wgj>?cP&F01 z_+-ROgSARu-(%dD7D>R#)@9^JiIJ?_0iHX0{ALorenK=EhJYrNiUzk*l-;(4ZuuKs z+HwBP(_Pm<==XUm;_cQwP}d~TWD~tYvaC(hHre-8Q0w0ebD6d68`FpAyo8A$*d+C~ zo;+@F&>yx=5)2)1*=+`g7#qXaBNQT5xLV${>$YSrZ5h@Hp>z7KTF{aNJjzw{UqbW~ z)xx8Rx*9V=YsrzjP4BPM=9i)vHO9j9EvvzH?yU*B~)WlF|{+gxXq| z$xFIh;jX21zP{p;kSZ_~)jk|2g<}n!@?Ycjeaemw?j|nd;5C-Et4?o9PZDY6XHQQ}1gr`Gt!+-iX0mKxl41N$i}p_Cfm9%SB*Ts9Z12UQPUFOAM&^Q3@9i zlwRtiLa!uo(Jt#5e&ey=_hrZKbiWcc2z`b46KhZ*{Sl>N8C=cdvQe?$(w5D4p2hy& zOpg6(M)46Lzl5a{lj#z}yjo6-FDG-nP3Yvmj4RQd=D7O(J=R@A#dvRX_Y<^IU5oqB zSOfQ(|1mwyc^Y0Z>9H5-JWuw9^lUjJ(4C--F=DXgmPZ6mY*V|rmL07&Mj&s9fc99ZS3V=*1o4Y@@P)Z(7R}d zqok2~vR8+ftNGGjp$a!RKZ09FYGz)KB3C~3`=6Ib=Okb)&7lxxgts*#FC^wujd!uLc+6aY zhavBr20~#tjP}PqWvX}I;4l~V2%%g?!$gNGyI<1Achl?rs1fq;KU?lSZ!7rv@m`cz z>ueQonUcHOQMSc$bs|~o@fd%GZ8?C2{;PGMZVU8|WA+Gzm#{EzOV|dOS$5pRP!5JNGs+B{g{eJkjJfK8|KW#JZd$kM6nO*5sr(4&0wO?t|>U zd#)Tir=Wzd(r2~0BLx%5a`!xck+*2V$WUsjr>H=K!hWvQMnPC!GFyO{_%Szr!_cCu zNyfN1s?4}UxuY}uq&IbYW0Eo9O)T!?Ds;|307kj?B|X4NHI=- z_4D+ADs(BOyxjUzv;OV``#yogP>1W7@j`S5X%sZYbbami@EC!Yy=trQX%3m+$*^S! zBocw1amU+r^RYQ?{MBjag(|B=eM3{4@MA<#RJRVbF`)UkBg_GZyRpPG_y4cgVIi9qL zQ#D*Hj(OELDQ8_>MmY&wE^3yjl-i$HgQRa6!$sXPaf=_dtaIpDr#SIQkKY6Oz|3Rx zfm`V&xmVXVzH$`P1_P4AQOQogA0+B%QYDEbxtQq2(UD4KPQs-revU!x{gvM{;I{`* zM?eu}(0o9!@`%tJ*i#HzOk=)a|J<=RenYoF9wYyS+7W($8lvN4&yXk)TFe$lbnv%U z{`S&ASn-2jkmB?2EEx^KYg<1mYd#;~KJu@dmc%-XpQhIc*HdoY>s_DLbc64Z*Ern+ zU8vgwoIOwb(A_L#tNm6QyxU-J9QhEMHZ@NGUmBAX|i`{L46W?rATE z3)>OPMvtc{fwn|U!Otzsp|*XNYSuK_q_0xN6@#8e-}`YsIg!FXCg^B9E$`aN#f}~s z1u}U1-aW$_JcM2EhDOfjAN^Cmb)=M}HWzrGxPRe>n#M_Oj_9xD zBw|*1PA#|+wmJ3t3c)@W=>93TP3o+>#~j93gk}d+#rx;=5)=50)5it`2VV&$2t2NM z)Q{JUic2^mo4^fz*61+sbI1F}Oh&)*-EOG)D;H0l))A2-a-pyJ8j!sUj`fwKiw+IH<&kz zY4LzCQ!QbsCE1&mpL1P5i-ow)n%e(RBa~l?(^y{G(JSPsilNCNw-4&k71HgXVX+sv zfstNW$o~VK2N4pJItq+u*Fb4=qI-Sjj|Qex8k7qU5U;0t!Xona7|5EdT7*7bf5Ycu z)kW63s)zUW5bOH}Kj`$c9b$p!V3)(~w?8(WHC9_pE$9vWR35s$uoIfl%k8MG=%O$IP8PkifR&aqWzDb))w)&v+t-@uu7mW$b9jz}YDz z?nMgs`tO_HBrHe?O0fs2SVY8F`KxaUX!x>ELHG`>TNCcW_BfLEo1l`=NJw^4`u<3% z8wa#t4uU&%er`-&r`9njTqNB|=3xRy)W;AKu*d+aY*4?zKAw*Y6k%9%2*RzG4eG2H z7&@&JcXNKP>8-3T!v}Wzr}D5^wpd+WK5IFl=>b^knwe+~{!KiB&<<_5Z98gs*o_6o zd95{;&sm{h(ARjmX?p`&7B)SPM>u2|CYI4+K1OxAUFPf4&moHAl18HlQCYPjlg1=d z_)J+J61sjX1SI|(pG-cibu_-SF(_Q9HCi7T<#-1E(MY*9N?zp!dxCogkGQ`1rFw6q zr)T^crr1RWwP0Pe*>7YG&@nRvXhHn>GtbJq?aLD&A;4|U55Ct)Snd$j&#RX!{=ULk zgtn9{js$Op5O2LO=c>ruRz!mgja_#%0cZr&!3K80!tp&r|758qGVb(lHp%G_KXW<- zja1}J*pZr$M-#4QxGwUk2(L!rV^*nc-;C4HG3)T{eIf*p$v@ZKNYh)+urodmNO=L| zx=r0GL$AE<-Fc36`xG94yuBQ<`GHP$h#2vd6X!GP&vr-x^^u+BmBe^`ygas$r=L_6 zza+?G2;sBdeQB(0CO(G3 zlzU~G%JpoW;WCswMPVT}WFeLdeXaaeiSY|thfWb17B)V=*Acb3GY9bv#MLi;MKhj} z_GMP8s>~IMz-gMhoyvATY?{qGZ?Z|gJ(!97VUzj?gnPY3wM(L~4`W23AtMy&a>UzR zUx%3%k7s#-y4BS$16jfx!>(B7w|k*pQjbb|%fqZ!Q8P9hoILIgWVG*2RH^8-=@$6i z&yx3v>SmP3u`qFns)$htkuZ-F>8)di(+DHe44=2EB~OQcYI2S)*|dbwD?@Lilkl)}CaK%~TB!$}G2~>U#qA#MY18_I$rrX%Ii{aN7Fq z`1(nYsWxCm@wF>tRcj$8;crD+8}=rio}(HnG`8kFpB2{wBFWWr;&ZxR&YWjqA(^Om z-Gou@ZdUI<|AM5#c*d<((eEX^ghpLY$q3i$p+#=@5_*2`Q5&>UT^w+|C`jflR%dZ6 z@2~w#a_PT7j$5KQ$T=!i1tLr&wFj~JG`1rxx<j$jKV*oi=wED`^F%@Np5oDc0^ziD<9ky$bO5$jdu`5qb?{W&Z% zQR^hrX6!vyh!e){=;QWKPAq3!R{TRiOKG*+$oAHBcP%-a+fa9ogfx@vB1BriX(#zK z7)VL8s8EU;=2j{59*JI(AP{xgOIi6d8s4oJjbMy8ji-4*>OO+hpTZv9Cr;(Tl4jIA zzn(tRXJp)^lfrrwK%bG)cej&0G3d2%%EU)>5lnZ1y zJ`FK5J}7;4;#SDWn8PNF82bJFi~JFP%Flblq3{FGw;B)`%lu2vZT`Z~=*ypbxWoUZ zQpiE#wN}W19o8GQbOVXYP9N6a@?qUrj(VXq^$#syr^DtRb189(Ojep2B6jnRLzAQI z9M*oiEu=Q*D~TgJ-xFdo_0nCBFZ}D`oKyu+BvCmug=2u#>9<2fUZ0J6c&(q#*-3#E z_29%Yz&uRz#^*itMs|CKGmQl@L&lVlK1U`=ngD$nTd|NTZ3E%h>qz;V$CHk5Z9u&| zpFKF(P< z><2HW+c@J?tc`eZZ|30$(W>w0sJ$(mSTd&bXWI-JzF>R*a9{8mB@aDzV%j)`kn5zL zpkiz##N)?$%vkGSVCdfU_+Yl8ka|K+`EQkcA4Nbpw`UA{t@YGDn%=YF5=AKeW66C* zR82(~2I)~>q6$XYU3Jj%C8fMy!1U0-Dl4qKDG$rNt{I{#gei=v#L+ZB;xnbi&B8!J zBW&B8DXS@kGKfK_ooQg7bi-ixzaQ>l_(P;b## zAgxH`ca<+)s3?i-Nm?9{JXATbK4m6#B4(-fAO`EpEQ-+rzdga^A!_~9leSVhX?Q6= zN{7&M5`xe1TBx$;ttpz?On^&nAI+x4_5JRm1x3ReImz<9Cc!#(>Zvyxb0^rD zij9RgudtaCbIs@Q2ZvOIprym_uf6(5{dQSf+cOH(V#MPH{*Gb#0kWk^5WmHB!b)X@ z5I1%raqcMQr8!oU&hE{LcDzR_;r7@*SscR_7zIg_sN+M=9RMYxpnRGhc0k)C9BL>T zctnai4Y>nX>&o@?>Oqo^LH2FqxVHSIH>m0UF5Ig=Unv*n!oijb+8l5H1%hts#SPK* zEm)3w^k-!(KJ1vXvM5Q!!RElr_5_mgU}L1vjceut+5Yel5qE2@F|gw$hc`m(A4h%c z6@Sf7-od{OVn4md-rC#9>pVgWm>E3aRi|JY)X0h`DEXg65jItzCc45Zb%sFbqA@~~ zZkj~RjxHpLC|J%vo!86%o#geRn06CrlXg+7>tU`mlxZ5)j-Epqr5|sw^M?@|ItMc& z@gFW0C*3I>;ZB!p?7N!V#OS#FBmYhvZ$WNuQCDcM`^iV=SsQxFrv(L`wO1c7f7yrl zE5Z4Egh2*(OIfjJdQQOceJ_YI7e_h8+)gj`BfMujow-O3f!C~!5 zNxbcoN@imjyi`-!DW@nRgF==bHbJi#c5&jbGJVpJcR7p@IVikQ8aE#vP0E;m)j_7(J*CTO`lpTx+bD^Sx27`LWeOGpO zytL~;83*!W#-|c!Aun--*S;@<_K`FX+^tympW6)E+fvWoNPSO)<6@8HOlYyPRF&#D z(7YPgaiCtr*Byi(50EFLsH7pU@3nrt5-)=m7AR{9(Nt&yLc%sM)q|i+Wqvm{G(dA+ zjbIc{3)PR2txx~=1fCa{>tb&b8AX08VfquPW@z6~)78ikK@awI;A27CEc6La>JALw zYv11IPGBI6tNwlMN$+od!S|x4ME69|6?zo?ljVVhj(8|a&62j>uEDN>H_s=KIo>U) z-;&CI|D<^1F&AM`3$~yJgtTk#dEHvwM(s7t)`1EmxxX{AS;I&7|M&sD&jh|B8uK%0 z)`SgG{&s=bg)n-AuNj11TxM3e8E-1|_^jl_?*YUMnLlJ%xE;2qfEPa4uNAt>>_Hc;7tAD`WUy#f^kRV+t)4U+i(ZcHCHdN_gB6TE zke+Z`P@@x}_9AXj!vxhA^V3-Ptxb?tvWr86Q1Z=kjx4~P;BAK z9PW-3feRK|M`JtZ9ISqN=$7!c;AGbc84vKgaGBu{V}KWuZ}@bfK#>CQ=J;=1JI@W7*cmKot zgX^Mpt9KOlzk$=2n!`W8IPV9!PE?;<>wBe6lLV5A*;9k>go!lJ^Ma0f#rsAh(H#G3k`Lb|M zuFy9rS1UqPe4##IsSu^x+jYT7Gas*GYcHhLEwoS(65@l+sw66`R2MCo08x5zKX$~X z0osIiIj<9$fADkLvX#|PQmWyG78cw(hVmu#yYj4<-0Z*(BhH>X%b`Q9s0ziQG*fB8 zloJ`S3B!u$S%}p318EUFYu_Oe=si<96!oj}NJf%X%EIGBY5)T9e)&2daxpdSUk-FI zwfYKUV$4q6$uvei}38!>tBoc@R#1Chg=LOOL4@zQ>jPcY>)W7n`Y|H8NT94ZoD zO2II#sc5xI92`~`D!}+&S7I6?W9*2)bl3?+_rihJsdF63dU(`9M^Ro~UwjO;O3qOw z7n+)f!nWn|XZ$y_YA;rV<_9ZDqDzB$I#G@#gl#Z}@K?0>e5xw}Ze?gdRmZB(Ak>c< zcT(-3l7V5>#N>TC^7iavwx;CVy%Y-4jLL55ZFeD&@~Vz?WJ2g7MxUu0pi6L6Ty1r& zC6SKmiqZH~$-df=!`^Z(SYEQfmekH z)gJB9{8782X-r)*Eiq$S^F;iLa)u19`#(1d7J|cGfSR`c)B?vGV}45 zFo)0*ZJo4@^N{<`g23QR&dJB8rNYVOd=ZFuZeN<(@LV+t zjPxPA>Yg3=cv!L8@x|b9Q+|La_NH|?l1BPj`O~n5!-PvEpKC`31kL1;+PR4-=fP zdTN5n-K$agEk>^??;O~Dx3jEU(8jx>!-w`Os!f)dtxpCLiv1FG0TPV-l993oS0ZJk z9|D z^99KcRtVXMebbV{ghLf=?Dva7p*D8F`RU4yS5(Lqie+cwS5$%*6`1DXeQc5MeVA9uSnMkEHw9?9U%tLzA zT!F?WHM?nIEGxQ;9h<;(itkO-NZRt%ze-?FCHeGTbdZOsxfkPM53#>Tlc#xhGK%4M zmKX#LvCW``>8ejoC~Jw#qGN#1BIqA?7j6vpr38wFQ38{?Rg+FG*-Yc^WYMyuw zkO?RP-9L3z#20;s3G>Tl_^S)S`4iM&wIrIi75$bqAhrjwhf$FIML7(t)u=>7+3Bgq zFu%hiG!+}W2dsBlVbd`qLT?p)3C$adK%>(JmmBK-47pmtTtP|^RG*^^6EP`T!{B<2FQ&=pEV#S9F=E zQB7^`S57_H@(WXtN9jlJiQIiXv4i(uc@Wa%(mLxc(5b-ccJUJ0n{2dcGEG_OynxjF z=wsy+N%byo$&p8qa7&c;^yDMCSrw7!?CL=G@BR)!lwH%$UoESu=3r)#s)^Aa#U6Ur zzkSQyS%sbZAmf>SysDXivNA=c^6UWM)nipdMu|KZSVB3xvn`SRbz_&)l zL0D!ThV+0prvl|6BcB?x&!|W1PMEY*CO$98Hfm5+J0K)9d<&{Xxe3@esc$S?A+*_t z+ePoZnBb4jq|1J9QVyk)lH6T?mWk^L;mKd9yW9gbPyBJ!Z!HwI0zK z=+51gS~93^Q1o1-fP%!N#?ae~n*NdQnvvEZbH?35eduChN1Yt8k#itng76J8? zUODMwviPq-Kr(sBz!Jy>;0(44!3sEoKmwQnsP3oWE&-)psl5v42W{<_3xaJZU@nr@ zU};{zMlUXe0CS%AsM+Y}1f8O3fhu4`^VE9)d6M2aQAWP&V15-lNvX}RB12HiUm1PC zYuXS<`}9#RAF+sZ(@>SWrptu#AALd;JN5i$B0y=dmUt-e7^E0ZP^2ex{$EM;gRw|I z(yZhAi=qQQtyN;9!UuUA8crTgOT8#WF}s`bLq>=r7zlFbOTg`eE!!5{VPCfMjC2Zw zZ8m-UMqv86h4j{8qq%0T4po^2NTOlKx9x?O;J5^85XFTUAdU{&R5ExbKu?C-MsG}m zV?zHZyKI&l7owli*w@P>>%@G)hR&687ZO68(%9Aeh05Dt6AxV@rLnvBR`w|@#E12Q z5Irg74hB6b`7SXeO!g@w#F?tyaMPOVrN380)^n&ATlOg-WIW{#0UbM;d%V|NHr;qr zh3aLrSBpx}aMPIT2eU(JNL2D&bO>^?YgWi@GIw9EG}WryKU~sz_#sWH@B>3Koap5IF7$HQ#^m|&-cs3P(@jh&J+niie`VWG8GnERd7gvEWLpd z5xSi0sHqVWdQD1lpMP9PitMO?5idHTtgLZvW(Y5pRmwNR+|&>{D!P>9;a&_XDmIpo zkPul_<_!ZQe)O$m8uQ%n5HzaLlu9NotSLDCy(m%e|b_COIWCAo&v9YSh= z9|Ii2oJVf~f?F7M(bt=aJG;IVRFZcmSO-qM&#oo>J_a_gvtb3n4(@8#)WTW1+_Q4_ z<1mtclwl{a$(kIZdb82Aa+=YPkHN3yIOu2&OxYQChCe|Ee1j4tbC?0T4rc~=nM`Vd zMt2WZgQMv)!ukus#*0-WUSmN0{jzR4CQs0KX!@9`xO|j7O%|5Ez8gt6-@y zHZq_ZtH6kvIvwFF%fa>r_7e8`_u|b5%oCRQmu(vONnV-vw#}O3$VvHCU|op!4wtrv zpA;fL%T1WzyXfmEy9-jR?VTEr-hOIrvG0)L=1}ZD4So@pB3YIjk|_?GA_O+9c+m@I z#CsPwg-tQV^U^%a9u(?ifnB2)5Yw(?J7r8E$A4F91|Gl{oY6jqO$pI@Ngl8k_$W4i zIM4xN(>|{d3c`NNnBt0WFTCag>MK3OPGQHt01q62J~>XlQ*OX4C0@w`6_#YIEUb-~QU~hL2#6m@0~HkA)2GaUQA&#+EXfNH zit(njMwlym%SfAZ5-1dLSn-B|cCEPr{O>fHWRjWjLFCkWd#fUY<5WnXUi> zsP0lpNRy(B79pD-FKkIt;M#zd=tLknw28zj8Tld8VwLrQsCHi%6^ViFz>WBBngHb~CHNc+S!o&CU}X|YL`seVFyKqPYJB`D zNR&hf2oL-WWCbb%(SSxkG9W)?BwC@r%}OVvo-p=0(mLnc=f(SVtaWT*n050`xlRQT zF@Otf4j=^f9q=9eJ6Jo+6T-PdrweEVZ+79!?=m2!U6abl! z`~X*iO5AfC19Ss&1Bi8{j>N%VAW5*pPs=!~1V1PZ(*PhK|ucx|WaV0>9U9!Z8kMW7B0ZPfmtj(AXw}ePU7kquH_$FanbAx`urLE+M zvRcredAenL*x2i7pd<9fq~oa{%#$9>{(SAAV=Zg#%x5%$Ag(_lZ%6RpsMXcRiw?P^zN7x0V1*W%J^ zH)evLREm{LYk%BdYlQ%L9ESi50;QyH1&k>h;S>G@+#Tj8gmZ*!h;z1es&(qlC=fpA z2t*7v2c`kg09%82fx4q!=j$}>6aq^ETLWhVe?hW<@r1a;JLl@u05Jjd!Cv6+2+pxP zp*r0<%|VVJ1%MB9I+Q2)9nL4{Pk863>tdZSpj*HhKpr3uz6zBN)(YW@e~z`zy^gak z*NG3B14sfS!GZupoz@^RkRJ#F#0kQmfd2%zfzX3GhH3?O#XUz`7w<#>34rzhKtQTx)U8V07wHw0XPAi;GAGYP-QT+U_{VmP-TG58fHC2O(+nxVJliC z_$MI)9s@0`CPpZFXnJsZ$W9gNOc)FBQK(VCDD)^eH-HVm1~v^q1X+UIg$c8<6d}Gr zs{-f%DgYI*I6xd2Isg+4#(>{|Ae%rDng)OYaSS5s)a=CRr0J9r79_!shN=Xx0(!v2 zz;Hn#ASYow63l4uO7K{KH0XmcxB*GY^V!AnYl%YNZ|mkF^hQ^%p@qJ{1bd_D|MyDz z-|J!jBcg?cnTMV0PqhZu-y=8vES~)<&EubnXW#NV-aIh(yVPtWrN$%2q^`dW-Sw1)Agb1B3xo7*Y*ijxqhn7$FO^Nbc|2cK$uTuVhRrmj)oDda}lvY*x zmvZ7?NB>Nq{ojfv*jPyz*qB*KIJvk;SeXCk;MxC$YT~zHet$jxE7`nLY^{XbANwN@l@ue1rXx4u{PlnliI>nS#9jyqXyeZQ zM3HJ1sd*GJQ6&}%d8x`JlulL~&Iz;oVaAo|^g)Lz`uX`_eZY^D#N{QD;`;m7XI zLaA2|V$Mi#lUC{0MS#)#QUpDyN8D+$vpz$tpw$dw5+V3Ui?N43WM@;{KFQ=${h(s} zbLTphyHsHwAE$Vd6MSiqmhk`#2?zQmiYTKEpIhLPdF0s9+e;Q9{bBOv?L75)Tdd3 zGKcsg4Pp1hNmGl4(quEyGc4=fYQOX|^KO19x*{>JnXJdrx33$&38}dKEa6o*zJ${Pv{a>zj#SEz$Ivz4| zA&TFo5pEW9t@Pp&il>j9+@qZD>rNggsvl0rZqM{?pR~Pc%_4FTWRL`A*m%O+w&Mn^ zZCi-W7F)ggJZ*ODyw2u=&>kUzE>(Sysn(|87vGa~_ZX>O%u%~gq3i5$nyR|VIobv| z29!Xn_|=)&$*GNXW2rbM_-t6cOHto*qTe4VFMLUtTFG#YvNX?loDG1Yev1#s#55gf zti@~VGZIQnR6(=0*y8;3P9sG?dx(R6CRxjwC3*7rs7~XNwfczZ(X*|6gajs^B`?!G zRK=@pv*|6_^nn%wYphy>FXN|LofU;yLOkr(XR6P-7pIij?CYYtKH85{ z2%e_7?_{>1x+>ckR*JYS+$K8Bbb_eqv{&&oUojX3`Fp%M3_xq(lDRajU<4@Sto! z68)sxBJzkPz=1VS`aL~QGNaG(;vnfLje*pw^K+1Q%?{BsW7yEL9h^=s)~u-3OhL}h z2mCSo*=lWu(zzZwhSI{o%pt@_W-Pyp$$CF*4|gF;T^3;MCMip-vmxCQEsO z+S+L5cgQ58+EU$50{767fiWo(!p64#9tRx)ehLEj#pr zLrZ0W4~TYRO*zZTV?Ve?xiprrs~7^sZ*~?$#LN${dRCxyL_|(QV!O8}dF9R73yG(9 z&I63oEvm=2SS8(lBuhuR^59HrjwpDk)~5y`P?;Yod^>wzB@| zX(cn~{QYr#zPG3p=;6&X;o7T1a~EnIwYvDcUv7$LSdy}&So=6ICXjYflkwW@B#!Xo zeQ)BT={;royy|r7$NCzF(blO22g&81G~|m_NubWqU}juD6DJW}H!+Iqhbyf5CmYr~blo-@u)*%d^cS zunQK^5MC1CmGYEG?5r;#;3g*+H}ILnq(Ws!R*$t|#$;6G=qKYhK?RR6E@(29qy$QO+0LGW18ald-= zGB59M>OSqD-MK`FXWOL62+=D+CM?5vuL();W`Rcm@X#$ajt)>S3^D|!NEAjablR9Z zv+)KZePjkfa~!hCn=Z2Cq({w7-+Kfg+G$|qT;}j?w4Dl;P{54kMnMXHFK>DqQy>D&a3?^b{b>c53}sh z-NHxwv_fP^T!GLrO1%N)8j;W$P_!;rpPm9D)dX~O z<6$gFE+{7&>lqO}Us}+7nW#|hysc%LWY{k(oariND)svyRh~A^MY$&3n#L`cs%xZg zbmGHAJ$FRn7Nb5Ks1kx0qG&|N0{Lk8x_3+M6UWV`=4`9**)G7nNUX*d1ss}5o8(TP%u!T8jG zLdwf-2a9$RU$JgkIFtALn$n5NaZk@WP_J0DMa4n{g}5@1_)Hx77X|gXWrSR~Y5s+B z{gQxluOJu0L#;&tP%1W2#K$?k@5V-L!LRT*+!&zX*Pw0@QP)gA=}`Bm4MS9YAc zF18z{tXNCqGDYez_VMo9f*9~k7CkH-!U$7FFXdrFm`N3_vcG6CK`-a(3%j$ytqQN| zf}Hiz3r8ZR$e|@ZAT;#*@meDmpN{pjsB0#54g1($&{vWPLREtN2?n?VOA^hcmOAoz3VYdLdWTZWtPOt^0;9X4fYw$&EN$V6!M}de_HDtD zj#+gG%1mJ`K?*u!QoKV*Vp(l1T2hM+8WVNo#yp*|l) z92Z;!S;6-ZK5!YMD4QQ?LbLBPsnW)*QlyGuoN;Zj9TmS^an1m_#@>8BEPhC|ggT5` zYEZUdRn5%m!a4g%c0ThN@4X(#qXY4u{kEY)^$9DFTT)l89oxN(g`w= zg(OFBVdB9KHJ5|?1=L=?@h1frHumAM=LjOzZj`p?=^i4%4GRa5(KU0lwck&XE??$l zF~6n97kwsFEJld&)jU*+4SO*ogyS#w#r>Ld>tUJV^5CR&ka*x1Hh8lhF>QX$nvJOg zp}OPrgFX_$)!>V6FGR*l7aM2uDiJK?0Io@DcbM1(SuE7}IaqGDsmb@zcsM<(?F8On zW}1gnHnPrOvY#~X0#4IDD7pq(5{a%+FMOC>F}OGnV57S(a|vVChs4JfMR z9y|?|D7QeF{=oK}-m*ng(;sq0QNV&|*d31LG+?P7)ScNIRc%5(T6Q(AHFJ6IK8 zhns^8K&zBE?zgBpX|?Tzj~~35LSd$UY|_L}F_a*L4Xnw14uh`3DcP5p5eGS0ABh6^ z;TiJ<;Ru|I?s70zqfiGaUbHm>t%LRQE<@NvZ-hDpKCDUd>TNEEwH%Cv_N;tZf?JE* zT#FF9h8~+-Qir^RT}$Y8*>vyQB{@|*N7^(;eQ_T)V-IL3Iwz#PKcRKEhPRjA@WnVK zR#x6pqEeYJ@@ZXdcWmRQ|_$9+xA-gI3L}8q?XSACddsd$I2wdJ1}jF z@N|kkEA4*^dqvZT)QMZx(iMrZr934_;M3WaH+pFllPGkE2oK*X3$Hfa)oL~_X5siI z+D11@=rY`079S(~g(t}BgQPB^L){jQBS$V=>@uGZ&F0Iet{+1_R5u;K_TY{_ed2mY zCbU-JbN;SzSa0CD@z=8~noW5$0--L)0r}Bgc>-rgVxqClb{F=b$I`rlCf*1)|GDs`!XAe&ekf-fO&rTzd2k~fw0JlI_ ztEp}#P0%B<&P3f^sj5yI>;a;g zdL9P^t6AEY-r?Y8R6_D_DqI z&ZSwmVZT6-z4ILX2e|5QW-@F%Y=5DXoNu_zfANxegOL7T(*FO1PDT&e^^l+hp7Hk) z#EC&xq3;=Kg~o;eu@c51e!4LYQ7(pA$2WUf*e~z6m4L}UTMY$3(Aee= z^nKSO3Fo#Hi^P;-=w9IdVN$$n0w5$>F5ZnRv%SBX-LT!iEzCv zE2Z7fYmsmWi+4Xhhtc<~m+LmaycB0h)01p2;HbB#yQp`sd#_h+gX*H-oN~_1L>6<} zDl;$m=OefHs=l2N$9F_QjpH(z5>Ib{PL8|zKg{pnj8s_J|CNZ&_0R4h{}v7uQ_+xD z*LbgP`uQy}+3=rzRQ}`O|6rr?8`|@R2(po|a54V|3BEx(e?%@zI~m$o8jIMO+nD|l zIL##DX#89HGz&8`$M1OAZ?EpR1_oAUp5Gh(a#HzioIfzUx8Q4ak~dq2H~5q3H-J#; z&z;|JxHnMSl$GRn(CF_d63d^H^qY^w{}B}Yw=?r^fkBQx&gQ@3g8#pqRQ^QZ{@pzn z3p2?-ZT}rv`|W!B`Q0u6l|!lq9gz_n$(o1buKw(-x35W^ zn$y(Zop7UwA;SP}E36{wp6otmXIY4H-IZ#HFmGxPXr8yNUul$|wNA45ML@hFxehef zo7I{YtdE0;s|B5nTTV;|4A0HGj!w90>u=*%uH?wZ#N)k~92V3Gi@Hgxr+FPqnbOyf zEnnyt27g3RORKrx*C@aZ*NzMuN*EJx{^Gt)hfMo`Ys1iz`Pu9H_|x9=)yJ&63W2jC z_?eG;pu+fO^!)3^wS6tgQKVGO0h)$hjm`HNXczCU-d%xLIlyO3i?20-fLU?huVa2O zyHb$z_+tnXJApTm-~vC!8~vj1w=-#|^tcOqB5V_8`Z@B;FSAt@_#@_~N}L}4IT7#- zyKnyP@bxOlFx+LnVZqM^dAQy8l5F@bEsNn9d;HZ;vJIa(ioKJ&Ds1^f@huoPQ?dT- zxLk(HT&_x`C@OHsUZPMideVXXF3h`KhWO3}F1@=cV>U|XFUAbe-H$OcR z0eQW`4gVQMB$WezdsyN$;x!!1W*U3??8Hd1<2id)>OM<- zikB2o=#=vg9c8Ar4BG+obNbI*XNHyh_7sQY*_@x`^g+K0n=Pe$n>+=nV`^qw}P}7b>Xp3 zQEG}hJCKR~_;czdbY^ho+f2o$Kx!2nqSJys=6>oj3{D)8?GSm>uT#Z|86B8xHaRc{ z6m9TAtK!Q-1wu7LG-nq&t{PUBhZi$2=Y1l0azz2P;fogNUJ31CYF?QyF)xFHd$^VS zIjz~NWtnm-e)Cw0n4bDzNAA~cgr)KMdhv5CBZjgA^o2F|gM9B7km}QZRX5D*EcXj| zLcB&W_r2dF+_6%VOUNsl9Aw3F9#Ym0z-)w?Y=^n>O4rLynx|3k3}wlin|xstjDt}k z+MvE`F)E$UNmuDu^=W=>c+M)?9Q-MA+`^oD51D%o!-*#-Yho$J%)X+pe4W74getnJz6rY@DWKBTe&o8+E3PI>GVdDglg?hrOP z9dr)Qigj0d)H>5nz2Xf^?#)78mOeTr6tUB@?<=1nfx zOp(1v-n~#eC!R>m-m#>WZeJbUzjFq|z2#36Cayx9`Oz*8xM6>UI-=|+!j7tP^Mq9& z*_P)-tT-k{Kz>Xa%n!bf!8}(gi_F@2OPs8aGomvdL=!4VOXpo6}Nk@#59$|qMrv1x?7fb3MDK@9k%p1(u5niT0;;o=>$}6uC za#7+mutY&1@~MS3A;0thiK9E|o8S)J_I%R3(5Bb5f(_s0jg340{ou&w11_31zt@_X zBHHh*zROxM&1}CM@d8}8Nk!#c!!mPzU3>J}*6-)Nf84wJP$E&gh4>{DtB^>>l0Hto zV3zbsQ0(!9?y~}yoZ_wVnVp9Ex$+%fh(ryVR8px&AO2<(@bUFvXCrLy@3+@o+=y7e zM|DO!7CX-#`R)i~)^^$L=XOY!w9-$v$$?A_xQ!j7y#jkOjeV*ct15m=z5L5HSlKgq z^!;4wkov154*JbVTzL|nJ@xBY^=SHfrAo7#iF1J-lT=4XXQhqED_`-oxZ1z82jWi= z(l~gItwx-^tTf`T1U*g*dXfu%U0M`b{_K8kIw>Q0pyi1mVD82BcFjc)uS4Imwta1x zkJ_icdwHU53$%}FILP|M<&h-6;rs>fwnqOgrRU_h(NN4|Nn^G`r^W17Ny2;WwC_60 zl?L9~MzcvzY$N8fSj8kHPb}!r(`)xK0-OPtBP!Yj)-X=dQ>JItJo6)~S!605M zo|a_WRevL5wdO1j4aya9N*Ww4<1Eo(3k#!(NeQsRvNDUD%rxMsNmkq7$+?824nmht zF^(`8Brt|7fGIo=G-5DY>Hb8sf8$ElCr(vr$C)b2S~6;rWh(k}mbtKeu~w&NzjVjO zq9v2&Fl=q%D7WyNy;RsFnhp`CI6c__&Tdbm2;1H+TNAdHlVB^a=RkpWLvYY%jicCz zfwPG*FNB^XD*-e~vi+Xz)l`dCXo$5Cl-b!MoG|+cf4O>0h{MlBpXCo0>hMTuL%vUr zy~`Wc#MDRc>kf}dtKFwk_Jckp!=Pc z5!e`5@D{(DDxiqF*;+fr`>n<*v8n7QBVPFXI3irfNx8N?Y)ZC_AYDE6DBr@;|}HdZ3|ld63Lsy1OpL>@Hp z80t^Mjolchh?an#m^WvaU73{VL}ZW3t(?}c4cCi=^PP$Q2ONd(dHEv9Q;5cWYLx5` z%WO@vZ?_h1_@F`>?|as z=KE-#sp`|(FB_mb2)v{j0`gXlLFK|M$mGCJB#zqI{LF03VH%%4dw*dvo!9%)8rgE-AoR|tcqZ!x4bUGZaeWgKHXfZZyfZok`nhsA_&J4$wKZ>Xs{ zB)KcY?QkGnITgkarOs&Ek6;7!jlWw7qG&NWZT-p%%M>eOoI{kMG8)9ytLnNlsY5n3 z9Ni-J{oKc@_w9}AHh#!|n(F3j3_*bNw7EMxvY_T?69L((*rt(>40}^k$0e|f*U-ec ziO(LAvLfeBkk+Vsy8XHIf&(p=dwwo?WsJqG-(f!u5q4KJJ1A{A6ZS0%B%#rBjB8** zmKKL#=qdE9nz8C$3nFk=kB6|PMLtU6ng$6$2d7`;ryQoLzOPFgY8*^Hqd*q#HeIx4 zE0HZ60;)rrvq>3dmAV*_y$YiZ@58||`&|A*rSz%ma&X!^Mt5t2@KXd?oh}0DbL(5& zDs?wREmC{Z@&hi4<+@yQ567T)3XoLG)_rKcJ&{(i-*_0Ac;>{tf_p3P&Km{EBQv}R zkqVS2S}8&y%37}RR^%OMXUmisu|X2a44;cth>F>u>V5+~)Q^)ZI_@Bb90# zWth)?WUkT?Qsump&1544^0-l5Iq>q0tQW8Hz}kbg3^V8)QQ6}R#vj}`nyB0cK*@0V z_42099$_>MjMV@9=)RqlMs9`ewGh#XHS$>FIX52?N?xRcU-O*B+s|EQ{mW&I__a0v zEj8Ng`s&A(OY?UZddM`u<8_A(_>#agsrF&+IN$4~%G|Hl4SoJ5TWI_NrpsF$l5%dL z@U**9oTRvs2L$qBV!95>1Xoikj$om4YD<30&D%}#dCSebeB0L9_ug~lRMwaYdA+!y zp~#jMcOZEH#%GaD(Q@#KNO$<`!iQcDfgDAxZ0s4A0P(nhxZy~k_~+xs>JIF)3qST4 zc362z$rgsOmZ6do-{GIr(+QbFeWpcpY<(@)Fkskcp(?7$c0W~I#TOQU)R3~vq6^_M z5|6!1gOH!#gBv_95r%Jwu!X+9m|ma>(wNjF#r`lf-9Lxfd}Jq><|9Kwwm`alN2o55 zK)A`+Ta0{1vCh6uFPy`9f%D}}g@OdY7>1q&qXa=IlOY8|oI46FnnNUkErRiZ!IM2g zZd+4gMTK$12i3cTeq@JtYH6Iy^+Djpx^9V90Q16W&G&%0I|Biq8(_APLBxpeuV8J+ zpSkw!j`U?XF3JJkaq|{+M+DiAA0$72-7QH6YeS-ef}L^BsYl3Jf{FyCG|H9LNB}{J zzTXv8{H`Awa}Cu*s7p{FGI9HtfmX4r z$Z3cmHYHQ_jrfG!H4TI{ZVW@;TvM3Jl8*s=6 zLD*-J5#En{CPQ-T(}|v4pl3mu?*M%Z@-j|V7kd0oyln6ZSPPhMPNMYUs~_neVP?Tj zKw@Cx^kQ0ciI>z$NSA)OH0$ZCz`V)4m|sE2j*WC5Jz=qa4iPn+KV!WF2E3 zl#04yBHGL1{~_d_j_j6>&;NtT&7{SF8%thrs#^=KW(6zLdgH5b;;yHXBjeBXX?F91 zxD!L1j1qeOu5P=Kg#iUqm>SwG%NrJ`NpzV9YRg7LP5*+}7hv>D{wrSemGmo7w2$1w z+0RTvAH&(DuU?6xLV0SDMp>0Sq1&(Q!moq76M%`D?DrzXltNcuUu>s*N^5-}PdX4^ zTH^PjZ;(|oe%djm84nTTS=<^_e}l{Orq*&omw4vH)XG~;qUVJ;XdBA42QA0ZYr|BN zA0!}smwuqOPUx8j4)0CXr?l$2v)UW6l zfxglKzsXui-v*rg%wyG+KKY=;bVW4jZNy*R7QHr-NKx0Gs|SNI5a!OqS4N3qf?l6a zIEjQ=K9k8#f8q_HP5(>Jr|O2#IOPU}?Wx>Sw~u=OT|N+=Buq$~S}=A+JYm(^_U;fw z><7hK_jwE27P@!ZV<9~gVln7y1_oDW4nPX4wGxZEvp&s= z6zXNoVKSrB*epK?2#N*>NUhv#y)fB==9F#45_rZmmaG*RSc@L5<5JsJ zf0xB!BO!NQk-ZOg^U?FOSCU}UR_W+U-LH-98R|?NeN2{-GIzQF_j0$0r=D4*cHf48 zuaa&p6fx&Y&TMNa+7vs-y9Oo`;g_y_qk~K#>_<8LmJ)7d1FUK0DTW=p0bfH}TWcq; zY$Dma1>IL!wNp;t6N_b6@Jbu>Q!BRr)DX-f8LMQO$}rVmTtG2eP&Z!?8$7g0X9v2r zG1FcG<9gYd-l45pCO&kE*KNqPpp#Z`L?(%sIpDNds3g~Snc-A!AkE*saAnPwy!x^n zg|tmi(Z9ChaEO+JzBPGGm+0Of6jN)j;@-6wi_{joCFI}Txer(%rZPw1yfHs&VHlbEv)m+=LT6Mr5NNaXdVQcfPtND~SsZBbFl}z3{&M z@KG!_PQolVvCN@4Z=Sm!T94t~-!gU_AgB0RFn4decQO++Hcwhyb7FCxYAl9x+UpoD zd7JuHb+%-G>hdn={&ud8p?<6Z3`etg&LA5w;{Kx5I=f{GzD zYn8T-#^*orA>CU}fF#WyyK*W`Wgt(RtC0y;Pu-Po}Z@ zx@@XUSp8#S$pWsS9U&NQUIhLMAZZ0_rkd3+bzOv^2X)5ej;uYR{qU115yzJI=%*y6 zLR2t_Pn6k2*;7Jb9nh}C=hPt42EZDEE93+@Wv(X1+m}Qb(|2ToDbkMOS_%g<)dy|a zRhX9A9rSWySJN~4T8Rj$WsR>oRyVBnCkG(5;Afi0k@*5*l<<^*#J)bLJ@#Lcu^w z)MWV(UeAotAow_sqMDvPa=6PzBcZOD0Y;&|US3XRNf<*H-_F5U=Rq@k%C>W1k;LZ? zK=MO|*MH~Sey2(PLvq2%#`&)reC~fxTyXy%6c^C~cD*Dh0Uq)!JB6BE%@T>Za$96V zp>YrfI0X5>K>dy9ClF5Aecfyel5%@a(aC^d=Q@#kC z#A-_?MzPUQM7JDUtkF@T*3ntwx@>2k+?^e|sR3Y@8HAs+apl+ME>`gx;_VtqOcis_ zx^kH2+ETC0upk%Kuhv6}F1;D&v$m`iU_X{J-AZxt>c&+K2AW}L7ZcUqwh4cJt@TT8 zeP*F|(#QZN~5nP6-;?TH3gg(EQ$mp6TDRnA|*n5R`wBm@I!JD*T;{=A9W^6USmd2cQQ&B{Q^(^+awRN%T zbE$dOK5aKtmXsAS9Wgs!bmlTNZ-*d8A;MgE9LTHZx25AGzrN?!TJXxSMSEDLFcHVq zfNjxxx^+LOS49^x<>)7}F2d(sp@xt|X%E=uaf|gN4r#0@rrH#tkZD9oz32+J?^fB) z?v0qAHj_%*f}R0)zWcGDYH-H-s{|1R4Y^ViHVRULBzcQ16N7vDCZ7XowvnYoWZu^# z>IwcHWr%Fn7!yF(ty#zpZd}l9;Z6`ZfR33C{lVGms&tBPNwZg%-zxd03S*4d7zFWF_jdb$| zJ5q;J@`#}YBMz848wMrG#!!UQP`E3<~!qr1!xd0ux$~I0t$51_^fF=+4yw3K6l>=TLSXM7Xp3 zuA1Dvt6||N5+#EL*55UXuEQ_-C6Z`yH*{S>}bLgMO7;-3#Oc%L{N1r*)Hk8AZzDqzu))n}GqhJv6vEcvL+;_)Q{l5RB?Cd?_Xvm1p zaL#eEvRBC7WIOgA$=)-`3Zab1UX_GO5sIubvrt5GA&h@;n>%MONXT=d#BrKH5_jro3j&JAM(qF(cQszs1a3$?_rm%5P=!Dw$zB5nL zwtTm4s7B=9YZb@6hu2N&bS8r=mm~f&z6#zj@dru(nKYs5S3gQH^*X?!~P0W$I~sKZW!*k-7D~%B#kd z8#oEaTrxroOuhtcH^43v>o*@`TGI*Od}}JI#Tuk0OhaP|4td#dt6$=MJnF>fa=wX6 zf`JdJ3y(Kf)`g|u_N>jN7}bpGPbhx!J`*Z-^Q#>F%ac(qcNWP{v1Kzys896e$9?lp zyw1|vKic|rvEe7Dani4KnC&x(GWB#nG=enkaEug<-d+&* zL)%ph2Fz?4OsNs`Czs|Lix-%{1)G|x9lK$(1cSDT>0;wFPw{@pKN_Qc#_dEb%gX9( z+Z*(QcPqAG670tMP&m5I`m3b|jSM3aF`PmrQ^CrjbO~id>w@Sge5nGrA?|pU_^0(xQzCM@jncyMM?v+cGfgZAS|J-J2I4+F z@CtkF7A9YjBuALnlJt4EV^Q3NF!DOyfLJs#ayZeEy25#W?RaIo(V5AtTPc~N3Ez2&=nKt$m3iqt;YE=<1}VDErW@*Nt-U=A z-A)`ejK-I|Xv&;jFQ$H=?--8`kbTSmZxMIhdVM!bjPP9DU|n3%nAe)FeHl|OpPZeF zD$y=o*4-0qQfds3sBgyEc=H;LGtc9oFH94JGI-_tF$j;<3rQ=nw)eb#?Co z+U6D#;7+?;Lb{A*rN7Y24mj*V1fjni_5}aJVNdWsIPBeQbqEFn4tsu4sQhpuFfJ`I zhvrPEBtz0FZiL90MO(EhZ!0<~1cW2YNQe!R zMj<+dtnU}nSg(lbcR9WGR{PKut(9P#*&l9|R6UK?FcZ_`mAE0Lxzb zU-~a(-wp1!`uiuxziYoR(4H=MP&tGgbXWUZ7e0&zxK|4a6ITmN6M@U1{11Arg9Tp6%#i>uj? zamHlhW_kJ77eBZ18sCjYhx!Wmdz#4j>edBDw2307`5yPCkbc>)9#?1MeiPD|)X+t_ z-hL~TX-XrK-6$$@LR&eI9oN4ae2aV=uC!3K!mPelVdHdKq3faeFu@sJvrz3YlCs6q zl3QG2hF+oUCqH#EC=*nH%rxZTm(@MQMPJW$RR+B+mu^V6+7Q?!-wj+Wby0GQ;IEL* z`0(L8e>Za#?0SgLw3ybcqr~oKm)&|XR#$_`vL*JVp7l&_-_ciVJdICI7+Wy=@j7v5 zp;Pdkhvx~~+g|LxTHo~-ou3>_w?x|$w8j-&;Pca2H|vR1k*Ps4?BZ;nUmlI;zs-GS zXfoG;gWy6XT~jdhsZZHyq|DUC59zcUB5@jnRbn^FiQ1=PDhf&!KPy0mK2()oK9uYRq{-FSyT0DOBaM+xxuhv@F7-#&DBt{G6pvO#JMmH&!c+v zJaD--lWf=t#V|6`?{x`2&V{!Lwx}oltlv=gs%IEz4NNP`*Qm=D@hzUBX!p}D5D}a6 zx^3<8()|R3?{?iuH!1Gy?qX*qs72_>^rmLwZt5@_9fEFK9o@nhC56mjXQtVhb`tgY z;69J<_nMoJ>&9KdbFkL{Yc=@PGA>{uak0B zcE>4wq6wq)_3odo9pIyuW>E`PDi2w3kX17|` zAPBj0a1@vO$Ma>`Qkd~KDiar-gsSg6`luC6T4OMktks;oIHI=r%t(*<#`ikU zu*cPj`bv^#xNOlGPkbF-v@F38M#i-$SKB4CM^!0Pb}$Q1JKdZc>6Pb_TV86M|FP;o zo_vo~%H zo_NIVH^Ox`n^qR}>5PN}w}bNVlM0G->P0Fbpo7R@kD#r$>#ggwUe6L)I6SVrS9@I~ zHz`_^c>fM(QqC~$dI+ke-y=XANBQdOj7jnK6r7-B!OT8e`%8{7%J2Y1Ry?0bvtz1y~|b#)aI9Dl%G^WjJ#OlW*t$l+U2s4Sy!u zk63Q9`ntK(!4`4+QF!P%e-V|%ZPIhv3~|0L6=w&RNo5>O6&0m#-#UkN1<6 zoW1s;PW$);`>H`aeJ-OmE&IT-(7CY7YAk|9It*3)j6eB(?#Qnib@5040PCOZzw#qL z^=jv_lf|O6)nlP!vqWsE>qUsZJ)#%3`#69|p3&w6#wgTASmCp(wyN|E2VmOUo^@lILfkF<{H>kE&2l_#2$ z&F92cdgRNG0)ahM>JQ5U6gXt_ClWyYh2;VDA1n`7lpLEtC+e4Yug{Uwq4RA@LQZLp zoDKK29`M7#y~V*7K!o}<+Igu@UML`I!3WW~H7K^$!8tbHRfJ2!_|@&@t1?xN7(v|@ zaz5*#Za&^eX%<&AUN${Eli_0}OoO*hNS8v3>^H1tUkJp-@sDQCai^JUD3$bOeoqM? zvy^NT0GW~1_}m=V>>zp?u~wh|L}@6~+&`w14^(|ttoH(UnKQAPNuq-UXIlO-V8wnn z<6m?C0b}fD^36zDr8oI^pGoOE>;EX6P;dSc)fsZb>^Uuw_D;o*uR@{1OYcQgI&Gf} zsoBPSDwwO(Y2_?#`uQZ7LRYing2R?y>R$-?pk)Fs@Jq)3(K4YdFRdY~$g5=HW^G|_ z;)XUeQF3%}{Drap477yx{9o)65CDYmK@bQ)TSveIK~MqUirjxWUWEWc-~hPs!U150 zeNQzen?0U?hh|XFo{E1Enn4fl+y5;zb8!a(t2kL;p|gJy(%<4U6zrE255P0je>O|( z!=K-;djJUlNdQbb@cR4t(f{`Oj?(`(%I{K+9M{^L&jNq3aR|Y71TnKK>QK!v0TS>B5 z8z`J!41TYsAgz4%K{k~Xx4hhDjwV{bhm(3rR*^?K>VX>1ilR;5XBGWIn_l)pJ?^V< zqVpdI7{Mj9eNJnl^KYu=g_k;nU_LRh=Gg(-9$nk<+9uPc+Q#j4h&`#E&pFPulUuEy zjFHc>OpC{#H5}_y$=F!`)-(N++-z%WXW@Fq)E7s4%iXM-wVHWeq?a+$P{Og84 zDcD3$`B4oKW=)Lvj}1s<&VOzUF%B8M2KF}xE=s&kvtzPuy7+GW(`fjkE!v$&r`woY`3*R38_d)azWazlPdmDL>uA zJUK&4Say=V-oQJMy~JRusLav!n)7rPGXakO_8WXd>C#HhA7Akrm?oq37#@`n$CMHn z`L4|I9_#eo<%KbFM$`0gD;MRb--)<8 zV|%gIV|FY0*r@PEACf@1v3az_pthoZQD`T`Bhm4b#8Ar(O+T;6ui~ten}~0hmHcxb zG!oAGObjwj89Y_2Cpi?ta!b5__n!sYk?tzw&bz z72QDXkg6?NP1_2m6gnlRT53mDmEIyWsP;od3!N)n)!XOL$v3OT)e~yOj;BflxT7Qt zI||>mjZA3@TUwD0oK(5!40A|iz3YNHSGs8^SzshlU&_11!)>fl^iE?bWHx`t!PKY& zg?CE9`>rXfMKU_Of$^?;$b0XwFHcJEdbPPLy>jVz{53y`AAcf*+M9@E2qhb;q$quv zbkXoteKm8eKZSLW0^H3Jn!y#fu_nbqjGm=TAh;znPPm69T7~OYXoK^xpc%y3) zCx7Yz=c30m+n^LJKB6AxTq)2o{FtINdzD1tyJmz;jg=A6N3Qv@uA}Rd^$HHVbu4gurb-c4M<>8?KRYO9#1S+|TDApdlGPHpC^ zd5XN4)T-!Ac&mqk7+@apJ2~((kNs?&!RCs&wp@OiTGpl4_d(|Pctk`TEa8-u6qkr} zX(V2Ih!YJQ4~aJ<<}eo{<1p6-J`(0llg@H;L+pyq*(F>hM76Ma$4Bv;)r96H^z&0E zT|EE&rUPu$wi~r#%v6w4tnBV!@NucS+6k^b0+o0C-20HPP}JBD}n2PG~JsHvIAm?FYLuYo3t~hOUwU z?_>Qr$3AyhEyjmLzhr$ec$?9LXeo$TM*Jy00i;M)m#B`RmLezqg{QQ%RGR83%D{Pp z6{0#geexDnTi_){FAF|GOLny$7J(uzL@cG`XE2#eQH`h^lTvoFD&n)b6g$6&nt?5C zt_5Q1=JBT`OJ#kt5_}r9HA#@d>&RZ({wl@Eu6my@v{orDIResQm531aN1boixf_nN zlsT57kd59w-{$a9>3OsAe2mMgh41qe7*nJ0ZRS5;)rIol+w2;IzO_t=YL_asDwlsS zPT-_77O-T|5++8PT zn?>!~3;Oz_2Yjk2#*3#E2Z5OTO==~f0}{IJr^-x;)_UzSA1d(3*5LnuM5a8$4WI(> zPWt(!>?s(Ic)L}k8Lr(q@<3K+q8I?OkWbhV^vkp2nZ4vFj}|=6c1~IB8O<-eQ-{Gj zz*8Rp@3_9?_(AK;hVPZOk9PpDWK_s@ThTR;wT7yIF7fv z2k_1Y0A@(lO0sf9C6zCUP=fBUouE{0VCu%Yiav@3tI`DNc-v zO*V}IB-Ww@kt*5s^2FWe$&Pv26g_c^2tQS)lj<+vBY*Gnyo1Y9Y3cWBgwOAb* zo4Lqla_4y!v;K4FT>GU?0ahZtAChC+C%sfBE{rc0WUAg0CDotG%Q#DXx#ga)p0wgA z+$bI3b{QfA3Ii)c({0V-D)Gi>cJ^1z7r(DxbAD$m|1ocxcJl7dB>vNhz#s-M&nJ*J zmRk%PZ_Rkz@E8U`X1ll@rSQK99(LZhfg~H^+@_V9iWzq=w&KW3qrtaM%e-rT z5KuG}B$eufNG_*Oyt$C=(k|^Kam#!7Lqz-4n$x}%%cmo4PY7l3w<&qa;si9{hd%FT zQa1ijAsU;$CiXZx_8n!1_+8~GqY!^OQarxTOW6qy6Mo7M8)G_0PFIKOZYQ{rXkR!( zU}AN~_g0W(nYvSu)^<Ob0*q?BZoWOe>u zkj@d)6W{*_Kxa?oKBR*mG;aJI(2m_WfcDmdgFSU{J7mA3u9#R^ zxb9`Dh&IRM1lijj0sQ+g83Jf}?+v#935Ee%Y9Ih$W8MVzIrj^dbaV$~i##9^AbbhH zhFPVAh4%`O1R`j=Il6$jv>oj%T}hy?rsLqx%NNr6^C|okTP+z z0C7RVP%u~!42K{gZ~-tc7j#8@!vWi-C1{TZ*j2&6&c)tSki$L=42B>v!D=u+zi9v! z7-xrR5F{L%21CLyyAg-@5MUI>o_UxChhT>MA(|i*1;wVJ;BY9gBp%`e1J0?~d4CDq34(zlD1ZMR*R0a%z zI3g<;5{y|c5Az`*82<_^nxFu7e;|M%j$LPfc0_&%@KHGeAs)&PxB=owzX3GtwFHcULyxQn z01biNM<_T7Th72b1gwgO%f-;J$0R_5VXws)8b(z=SZ9ES!mcwA@Jj%=Rsf3+xIF-C z>;im9>^X>`VapU)5}|PHa)EC;j5GV8x&U8bK-@BH8XV*5hQ)^fVsBy5Ai!#ZO#>z& z_Bsv$`VG5n5TLnOV*^-Y!2(Cp0$&T*GJqgZ*kc!1ivdYv*98fKVXZ>|9}Ihq0B8t| z3Us)=f{>%_0OrgAxwyHQ0P)vc06ho@&4#{av8N1R)K4`>M@*PEpy)rMi(#}}fB?vE cUx#pYGjVa-(;xsHK>!9JIeS)GMTX@607kjEW&i*H diff --git a/devPneumatic/PneumaticValve42.svg b/devPneumatic/PneumaticValve42.svg deleted file mode 100644 index 2e43217..0000000 --- a/devPneumatic/PneumaticValve42.svg +++ /dev/null @@ -1,1357 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve42.xml b/devPneumatic/PneumaticValve42.xml deleted file mode 100644 index e70eaef..0000000 --- a/devPneumatic/PneumaticValve42.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - Pnenumatic Valve42. - PneumaticValve42.nb - PneumaticValve42.pdf - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve42G.nb b/devPneumatic/PneumaticValve42G.nb deleted file mode 100644 index ce5e366..0000000 --- a/devPneumatic/PneumaticValve42G.nb +++ /dev/null @@ -1,1950 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 93978, 1942] -NotebookOptionsPosition[ 90132, 1831] -NotebookOutlinePosition[ 90786, 1853] -CellTagsIndexPosition[ 90743, 1850] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve42", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, - 3.8048574830449095`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{3.8045956967664948`*^9, 3.8045988882774363`*^9, - 3.804599021844661*^9, 3.804757553946481*^9, 3.8047576859049883`*^9, - 3.8048377732989707`*^9, 3.8048378209927735`*^9, 3.8048379130278387`*^9, - 3.804853738418406*^9, 3.804857181747699*^9, 3.804920337376981*^9, - 3.8049212832728124`*^9, 3.8049213813076887`*^9, 3.805014808070986*^9, - 3.805014992970668*^9, 3.8050243175592833`*^9, 3.8055422556796074`*^9, - 3.8055422957312946`*^9}, - ExpressionUUID -> "439b81bd-ad7d-4618-ba96-da8feb512e81"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -PneumaticDevelop\\\\PneumaticComponents\\\\\"\>"], "Output", - CellChangeTimes->{ - 3.803622590499139*^9, 3.803622702663488*^9, 3.803622815134305*^9, - 3.803623721373517*^9, 3.8036238601093044`*^9, 3.803623937994834*^9, - 3.8036239934748945`*^9, 3.8036241341065946`*^9, 3.8036298008030453`*^9, - 3.8036298444978075`*^9, 3.803630061320653*^9, 3.8036301755286026`*^9, - 3.8036305333496456`*^9, 3.8036306272029896`*^9, 3.8036313896297965`*^9, - 3.803633367395686*^9, 3.8036344882389812`*^9, 3.8036346470245395`*^9, - 3.8038136623939295`*^9, 3.8038139992423277`*^9, 3.804241856289888*^9, - 3.8042420866123095`*^9, 3.804242345740017*^9, 3.8042447622247953`*^9, - 3.8042463877690353`*^9, 3.804249329530594*^9, 3.804250050067356*^9, - 3.8042502430393047`*^9, 3.804250348530491*^9, 3.804250557944478*^9, { - 3.804330370409816*^9, 3.80433039154989*^9}, 3.804330939958883*^9, - 3.804331023950798*^9, 3.804331146032308*^9, 3.804405475429482*^9, - 3.8044100012088203`*^9, 3.8045877815790515`*^9, 3.8045897137789774`*^9, - 3.804594281302554*^9, 3.8045951546726694`*^9, 3.8045953579779572`*^9, - 3.8045954958767147`*^9, 3.804595555970727*^9, 3.8045956284649487`*^9, - 3.8045956967065573`*^9, 3.804598888220494*^9, 3.804599021782724*^9, - 3.8047575537686644`*^9, 3.804757685843053*^9, 3.804837773271999*^9, - 3.8048378209658017`*^9, 3.804837912994873*^9, 3.8048537383814435`*^9, - 3.8048571817137337`*^9, 3.804920337352007*^9, 3.8049212832138724`*^9, - 3.8049213812457523`*^9, 3.805014808176936*^9, 3.805014993033169*^9, - 3.8050243176595645`*^9, 3.8055422557075796`*^9, 3.805542295759266*^9}, - ExpressionUUID -> "a9bd862e-afb6-4a5c-88f9-c5eced08ca87"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "4", ",", "17", ",", "4", ",", - "55.7682569`9.498961909483867"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { - 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.80554225576552*^9, - 3.805542295789235*^9}, - ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. It \ -opens between pressure port (1) and load port (2) and between the load port \ -(4) and return (3) when the input signal it is one. The opening is \ -proportional to the input signal. At zero input signal it opens the load port \ -(2) to the return port (3) and between the pressure port (1) and load port \ -(4). The opening is proportional to the input signal. There is no valve \ -dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9, {3.8050237813496456`*^9, - 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ -62f88b1104a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0003[<0@0006`0000000008@0002H300250P00 -oOoooogoooof3@00f@/00215CDH00040c3X005H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000a0/00;P;0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000041CA010P0000000000/08/>P00000004m3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000001P8II90000060QUTV0; -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000T>BDA1E7RLkIaY -B5A]56QEUIdD9kJX/F@AmJ;JCD5RB/J;?ED>Y;ZI6d6V55:56IA:^U]=]> -9EYY=ITfj]cWoF0=CFhcc^dM7O_1@3icWW=>0Z:RXNVfZZj_YfK_en_E[O7emnOciLh=fSXj>08ZF90:;>G;T2>WYjKI>XdhL71b8Shl7H=>VCKaooehF_lnO?fO@X46X -E2[Lg=`J]:f^[PIn7UgfR5j_ilZE:iBGUo?P`@=KYeTB:YD:BI8hMnjL[M>YUggkmZ5FZdU;Bn?:UB]=m_?P`@>2PX8X;2c4gMfMh>1P/nOJ -[@R>7cn>CZM3[mMcm>QAFjMC;kejmF;il^D0A4A464oAUW3WcQd20P8X:RX2JWiZo?clc9i_Ub8@@Y2A -TH4@0ZPiCGkil/G6FMG?n_G[lOCdi>73QncO_mnR^CTi>H`O?ajMCVLL6cil^4Dnk584]foO=SVRE2XE -FEUI=/bXHEaMGMVnOC/0/K6aaR>jCVI6cM^e6^KUiO7m>WCCLh0_o3alJ5]fkHFaKHk4KahlJ;>3`MZ;Z2JJgLR>7gj=9FEUKG6bl_;bLS8/456U[5ahdHjMniWAP -biH]0:aI/jKN/mZaHlO8bLU1Xm5`nO9Uk]noCeaL7;jn__mW^_lkFT1X]EYQ;]kNgP8@KmjlOBaJ -]4P08R4QXE7K7C]f2414ADDe:IK1H13no_h24<^F;J_eOTE5QNSN_K/0a8H=6iXD@`PQ044;^h7DJU0Z -UB@U9J5D:SU`h01iNGTVknoL^I?G[eoC]F]GEZeJIGdlZcglhjl`L>105RaHP<5P828R`]Sh:Rh^=]jU -g;im>bh^;UK7nRN2I/bfKM]`MgOWf[E[Y:FU0CGG2CZMSR53QSBY4ZR;Ob9Xa[Rk^a73:1@:M^kLRD8QciZPOb9XiRaI/XAnoOYAG5a@420K34L0Co0/VJcKO20VWZo=N7P -h41BDQ:1PH6lNoL>]E[=i/fKIHgQ26@37FGenQNAJ`E>Bf;@X46h^;Q@EUJ6UiLG?Shn/_Ygi:L0]VgK -9Y_CahlOTiZJRXn?3d^G;YG5If5Q8DU9BLfjoongf;E[5fEUIBREBUjnO@8@g]kNXZb/c6[Oo:eVDFUY:FO?WTFY -E;:: -X:2PP5^gK]6nOG^VCYdZYn]FajUCYlS>cTJSdM@Z2OO/fH>;R`^IVIVb[:BFE@C9bLT0c9Xe2he68jO[ -ETEUIBE[ejh582HVQVkM^YVlkng]KMbW41TIJK:D[RW89P99TXcmKG_i:BP^;RHg=iOLg5`nO_`8`=^g -KheSObiQTh_M^gOco?Uc_;blR8j>[]b/XB3Ph?Xf;6SD:_E0Q3>c/jRGK]fXT>73/9P<=@iciXB/KRhF;A_geh0h_3Q``gJIVAT63nC^gO_ -RYD[EhZUBiNJ7N_GMnmX]HAnl_/5XE`g=Vc=b94SDJ_EU9JF6/O:bl]A:1CI?UOj7@jcY`iPd:Q82`/C0jGc@8W9bLV -C9Q@j`=eMGFeJ:nO^OaN4RHT93@X/ZM?Wc9ahTCS?/^:RPZZZZZX[ZhV?mnb7ObbR>34RA>DUiLC51A4 -Sahmi73IK0P?3lOEeMETC:oG?Aj_LWH`843J`W3F];CdkUhlB8JSHJ]FkLfJ^oYjLW=VcOamOG5`L71>2j4h3VcI_djM?7A0PU9BGe[U:^2j]5 -T9:BPQ22d=1@RgNn]1CVcI]Wk7/X50XVCIXTZolmNoK`k=Tc?3dmRHV9/FR^Vi/KejmOAj_EXU:YP9Y[ -]0/G;YS]`bXA224hL^@8H9lo1KnH?7Tb1X<1P2iM^]2mNgOIO7ohl<5hn]nbID^C3ZBfKM]bmNYE]5X] -KMZdXJ:R`_RmV8=E8/S>c^KUbiMdjmK=h^g@;@Tg=cNdFRe:YE;fnoRa/K5loOZEo_gkOWLnS@8H16Bd9cD:_EI6EU3P02@T903_knl010@404U9B@0C4a<0[:b/00d=3@3Ti>@0fm_K01@D500Z:RX0 -n?Sh00T92@3Cdm<0B4Q805]KF`3GemL06QXJ00820P20P800][Jf00l?3`071`L0QhN70=[JfP2o_kl0 -61PH01DE5@1OGel00@4102h^;P0[:b/0no_k0<_;b`0>3Ph0o_kn014A4@061PH0l_;b09:BTP32`/80 -EUIF0SX`3WinL0_[jn0;:b/P1fMWH01@D505ADE00o?cl0Hf=S0;Bd]03clo<0 -7AdM0?gmo@37alL0clo?038bk^kP2JVYX0 -5QHF05QHF01>CTh0Vi^K018B4P3/k>`0YjNW0>7Qh@3YjNT0SXj>03Lg=`1[Jf/0moOg020P8021PH40 -c3P`0L71`0m?Cd06ATI00k>c/0j>SX061PH00h>3P0Ti>C01LG5`34a<@0;bl_05aLG00V9RH0 -2`/;08R8R00N7Qh0KVi^08F5Q@2[Zj/0FEUI0>g]k@3Shn<0HV9R0?[jnP0/;2`0O7al09FEU@33`l<0 -_;bl0=WIf@0f=SH0De=C04M7A`3fm_H0h^;R0;>c/`1hN7P0nOWi07moO`22PX808b079bLP1ZJVX0FUYJ0492@P0I6AT0lO7a0=kNgP2^[Zh0 -f=SH04Y:BP14A4@0iNGU07YjNP0l?3`0XJ6Q0?Gem@0j>SX0ADE507emO@1nOWh0gmoO0:2PX00820P0 -7alO06EUI@0aP410@410@410000000000410@410@410@410@41 -WBYbA0410@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@41Z000 -0@410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 -0@410@410FUSHhl026=SO0410@411`080@410@410@410@410B@0T6H10@410AQa09410@410@410@41 -0@410000000000410@410@410@410@410@41R@040@410@410@410@410@410@410@5801T10@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410HX=08/10@410H`0 -SF010@410@410@410@410000000000410@410@410@410@410@41PP0RQP410@410@410@410@410@41 -0@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -0@5g01T<0@41Qg80R0410@410@410@410@410000000000410@410@410@410@410@410H<0FP410@41 -0@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 -0@410@410@410@410@41@@0L0@41Q0250@410@410@410@410@410000000000410@410@410@410@41 -0@410Gl06`410@410@410@410@410@410@5801T10@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@41B1lZP06103:20@410@410@410@410@41000000000041 -0@410@410@410@410@410GTS7gX10@410@410@410@410@410@5801T10@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410@410G/0GWam07h10@410@410@410@41 -0@410000000000410@410@410@410@410@410@5000/10@410@410@410@410@410@5801T10@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410FT_07P0AFH1 -0@410@410@410@410@410000000007=cLg=cLg=cLg=cLg=cLg=cLg00:0@410@410@410@410@410@41000<0@400@0100000@0100400001 -00400@0000400@0100000@0100400001004007410@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@410@5^:P0SF`410@410@410@410@410@41000L0@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410@410@U_06D0L0410@410@410@410@41 -0@41000ZP0410@410@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@41 -0@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410F`0KCDO:Vh1 -0@410@410@410@410@410000GW`10@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4100810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -0@41FA40>P5Z06/`0@410@410@410@410@41000_07P10@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4000810@410@410@41A@1K0@410@410@410@410@410@D01P410@410@411`08 -0@410@410@410@410@41I`1X<05Y;`030@410@410@410@410@41001f01l10@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4100810@410@410@41A@1K0@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@5S7e180@41I01UIP410@410@410@410@41000H>0010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@41A@1K0@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410DIN05l10@41H640HP410@410@410@41 -0@41001^:P010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 -=5EEB`1FE@L10@410@410@410@410@D01P410@410@411`080@410@410@410@410EL0F5T10@410EX0 -6E]LG@410@410@410@41001_06D10@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4000810@410@412`l00000D5410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -DRP0D`410@410@5?00YD;aD10@410@410@410000KCD10@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4100810@410@41BT/000004cL10@410@410@410@410@D01P410@410@411`08 -0@410@410@410@41C01=AP410@410Di?0000?`L10@410@410@410000>P410@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4000810@410@410DD000004dH10@410@410@410@410@D0 -1P410@410@411`080@410@410@410@4J3am70@410@41B3l0000004T10@410@410@41001X<0410@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@410Cho0000@0410@41 -0@410@410@410@D01P410@410@411`080@410@410@410C1104810@410@410D@410@410@410@410@410@D01P410@410@411`080@410@410@410CX0;c/10@410@410@4l -5P0001P0000000000/08/>P00000004m3 -8D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000004m3:T0002@0000H0000 -0020?`00000000000020?`0000000000:T0002@0000H00000020?`00000000000020?`0000000000 -9T00010000040000000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L0 -30000000000Z@000900001P00000080o000000000000080oc56D@4@00030000000000Q0000 -200001`000080000B`000400000`00001@000200000100000@00010000000000000004d3003=0P00 -00000000001=0`00c@8002@0000T00000020?`00000000000020?c993DC/aAU40P0000`0000@0000 -00000000000:00004000000000000000DP00070100010000Roooo`00000000000000090100000000 -10048T<0H@1/06T0HP1b06T0000000000000000PH40000000815@>:>^2?^W/900000000000000000 -00000>:>^2<0000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/8 -0@000000001_=C]f9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8000Q@P0I000Q0000 -5Wl10O@E003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWOd5@T0m1D42@00100Q@P40 -m1D9oooooonh400010T40;P@00000000@QTQ@TP@00015CDH[:T0002@0000H00000020?`0000000000 -0020?c993DC/aAU4:T0002@0000H00000020?`00000000000020?`0000000000:T0002@0000H0000 -0020?`00000000000020?`00000000009T00010000040000000002E0000@000010000000000O@0<0 -30000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o000000000000080o -:>^2?^W/90000000000000000000000>:>^2<0000W8@000040000?0000M0400K1If`P00000 -/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl0 -0000048I0@50F]/8000Q@P0I000Q00005Wl10N/N003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g -00000=9]PWO[7_P0jah4n000100Q@P40jakhoooooonh40001?P40;P@00000000@QTQ@SP=M098g4l0 -k3L^MScNC`3[7PCh00000000000400001?P00>/Nn?oooooo^10000Ch102hFM/8I7H02000000U0000 -30000040000F0000300001P0000B000030000040000H000030000000009D0000E00003D2000Q0000 -K`800:h000020000000000000000000000000040001<00000000000000000000oooooooooom@0000 -@00015CDH[ -:T0002@0000H00000020?`00000000000020?c993D@9FQ13:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000 -000002E0000@000010000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000 -900001P00000080o000000000000080oXN0bA>c56D@4@00030000000000Q0000200001`000080000 -B`000400000`00001@000200000100000@00010000000000000004d3003=0P0000000000001=0`00 -c@8002@0000T00000020?`00000000000020?j7P:>^2?^W/90000000000000000000000>:>^2<0000W -8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000W5D8M`00003/0]/80@000000001_=C]f -9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8000Q@P0I000Q00005Wl10ATO003Pfdl0 -b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWLI7j<06Al4X`00100Q@P406AnSoooooonh4000 -1:<40;P@00000000@QTQ@T0;M098g4l0k3L^MScNC`0I7`BS00000000000400001:<001TOXooooooo -^10000BS102hFM/8I7H02000000U000030000040000F0000300001P0000B000030000040000H0000 -30000000009D0000E0000<`2003h0@001P<008D200020000000000000000000000000040001<0000 -0000000000000000oooooooooom@0000<`0003/0000U0000300000h0080X000030000040000R0000 -30000?oooom60000l0000>@00015CDH[:T0002@0000H00000020?`00000000000020?j7P:>^2?^W/90 -000000000000000000000>:>^2<0000W8@000040000?0000M0400K1If`P00000/5WK2:XKBg<10000 -W5D8M`00003/0]/80@000000001_=C]f9`0002L002LHIM/8000002400024fdl00000048I0@50F]/8 -000Q@P0I000Q00005Wl10O@E003Pfdl0b=a?0000PGMMbRlno_oooocKC`2[KH9g00000=9]PWOd5@d0 -m1D43@00100Q@P40m1D=oooooonh400010d40;P@00000000@QTQ@TP000050000000000@00005000 -\>"], "Graphics", - ImageSize->{176., 148.8235294117647}, - ImageMargins->{{89, 0}, {0, - 4}},ExpressionUUID->"4318546e-77aa-46bf-804a-9a80e31c4070"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A1max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A3max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, 3.8048378158670616`*^9, { - 3.804920331165388*^9, 3.8049203326408653`*^9}, {3.8050132508483152`*^9, - 3.8050132546749153`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, - 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, - 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A14", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A34", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { - 3.804594781346759*^9, 3.804594790496318*^9}, 3.804746010107048*^9, { - 3.8047734309389215`*^9, 3.804773431634205*^9}, {3.8047735782359843`*^9, - 3.804773578712495*^9}, {3.8050133037153454`*^9, 3.805013305517521*^9}, { - 3.8050145766619024`*^9, 3.8050145781360254`*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { - 3.80459478532765*^9, 3.804594792557191*^9}, 3.80474606857274*^9, { - 3.8047734322315884`*^9, 3.804773432749055*^9}, {3.804773579240947*^9, - 3.8047735797104626`*^9}, {3.805013306559174*^9, 3.805013307880474*^9}, { - 3.8050145787849708`*^9, 3.8050145804595795`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, - 3.8047460279925995`*^9, 3.8047460694378476`*^9, {3.804773433649126*^9, - 3.8047734364842014`*^9}, {3.804773580248907*^9, 3.804773582622459*^9}, { - 3.805013309090266*^9, 3.8050133410404825`*^9}, {3.805014581747894*^9, - 3.805014588938695*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, - 3.8045875535512643`*^9, 3.8045877472244887`*^9, {3.8045958567664537`*^9, - 3.804595863157861*^9}, 3.80474603190956*^9, {3.804773505907591*^9, - 3.804773506350135*^9}, {3.8047735831199465`*^9, 3.804773583606445*^9}, { - 3.805014260545041*^9, 3.805014261996625*^9}, {3.8050145907757454`*^9, - 3.8050145925284595`*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, - 3.804587555119646*^9, 3.804587750394221*^9, {3.8045958590271235`*^9, - 3.804595860901189*^9}, {3.804599005689327*^9, 3.804599017566074*^9}, - 3.8047460701820803`*^9, {3.804773506901566*^9, 3.8047735073221316`*^9}, { - 3.804773584137896*^9, 3.8047735849091005`*^9}, {3.805014262852506*^9, - 3.805014264873622*^9}, {3.8050145933313894`*^9, 3.8050145950055046`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, 3.8043297589347453`*^9, - 3.8043311074246674`*^9, {3.804587557888789*^9, 3.804587559095545*^9}, { - 3.8045877537097993`*^9, 3.804587758719634*^9}, 3.804746032903533*^9, - 3.8047460710391965`*^9, {3.8047735079934397`*^9, 3.804773510539812*^9}, { - 3.804773585649337*^9, 3.8047735887741137`*^9}, {3.8050142662778196`*^9, - 3.8050142736306543`*^9}, {3.8050145964943037`*^9, 3.8050146072947173`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273494082735*^9, { - 3.8044099151808147`*^9, 3.804409925963391*^9}, 3.804587565114339*^9, - 3.804587726911441*^9, 3.8047460336227922`*^9, {3.804773437315344*^9, - 3.8047734378957453`*^9}, {3.804773626405298*^9, 3.804773626956728*^9}, { - 3.8050133506154284`*^9, 3.805013352279003*^9}, {3.8050147289513454`*^9, - 3.8050147304242887`*^9}}, - ExpressionUUID -> "161e22dd-9b38-4a95-ae56-199ec9fed0f7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p4"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p4"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8042734965921464`*^9, { - 3.8044099321503296`*^9, 3.804409936923113*^9}, 3.8045875671112766`*^9, - 3.8045877325286493`*^9, 3.8047460718034086`*^9, {3.8047734384671555`*^9, - 3.8047734389876194`*^9}, {3.8047736275031643`*^9, - 3.8047736283552856`*^9}, {3.8050133543570337`*^9, 3.805013356425194*^9}, { - 3.8050147313528247`*^9, 3.8050147326617966`*^9}}, - ExpressionUUID -> "c33b970e-db2b-4bed-954f-6e8826fa4108"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng14pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng14neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.8043297847255116`*^9, 3.804329810982648*^9}, { - 3.8045875692021213`*^9, 3.804587572510707*^9}, {3.80458773637668*^9, - 3.8045877400798616`*^9}, 3.8047460343100863`*^9, 3.8047460727893906`*^9, { - 3.804773439896682*^9, 3.804773443015465*^9}, {3.804773629239375*^9, - 3.8047736323561583`*^9}, {3.8050133570816803`*^9, - 3.8050133896587753`*^9}, {3.8050147340502462`*^9, 3.80501473905085*^9}}, - ExpressionUUID -> "d856a9b3-0177-4f18-9bf8-6350839d7252"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, { - 3.8044099459641075`*^9, 3.8044099587618484`*^9}, 3.8045875816093225`*^9, - 3.8045877054655666`*^9, 3.8047460350383315`*^9, {3.804773511195137*^9, - 3.804773511710605*^9}, {3.804773632852647*^9, 3.804773633328156*^9}, { - 3.805014274802712*^9, 3.8050142762223363`*^9}, {3.8050147401847153`*^9, - 3.805014741472805*^9}}, - ExpressionUUID -> "4c6d1c3a-a3c0-4ce6-ad4a-36c63ecc7310"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p4"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p4"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, { - 3.8044099637709303`*^9, 3.804409984817839*^9}, 3.804587583990865*^9, - 3.8045877074615045`*^9, 3.8047460740231185`*^9, {3.8047735122100906`*^9, - 3.8047735127225614`*^9}, {3.804773634024438*^9, 3.8047736345528927`*^9}, { - 3.805014276855688*^9, 3.8050142780440235`*^9}, {3.8050147421747036`*^9, - 3.8050147433160214`*^9}}, - ExpressionUUID -> "b93212b8-a683-4194-ae5e-77a536c9b51d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8043297620529838`*^9, - 3.80432978164869*^9}, {3.8045875876091347`*^9, 3.8045875931684*^9}, { - 3.8045877096172843`*^9, 3.8045877149767537`*^9}, 3.804746035796549*^9, - 3.8047460751030045`*^9, {3.8047735132939715`*^9, 3.8047735161260505`*^9}, { - 3.804773635280143*^9, 3.8047736383669586`*^9}, {3.8050142795638685`*^9, - 3.805014284415703*^9}, {3.805014744450555*^9, 3.8050147496358747`*^9}}, - ExpressionUUID -> "dd85bb0c-db7f-4dbb-b971-11acac55b4b3"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050238592557135`*^9, - 3.8050238615557156`*^9}},ExpressionUUID->"e35a9ee5-9df4-422f-9b3c-\ -902054fcd47a"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE34", "=", - RowBox[{"qm34", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm34", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, - ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ -09172eb1a580"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - FractionBox[ - RowBox[{"p4", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], - SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Neg", "==", - FractionBox[ - RowBox[{"p4", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], - SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", - "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179915385733`*^9, - 3.8050179925094385`*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ -2783204ff18e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, - ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, - 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ -b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}]}], "\n", " ", "}"}]}], ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,114,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542297149831*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,115,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.8055422971768036`*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,702,116,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542297201778*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ -\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,702,117,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.8055422972267523`*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "General","openx", - "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\ -petkr14\\\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\) is not open.\"",2,702,118, - 16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.8055422981038475`*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve42\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"n\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,702, - 119,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298169779*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,702,120,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.80554229821773*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,702,121,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298262684*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,702,122,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.80554229830464*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,702,123,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298349594*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,702,124,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298397544*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,702,125,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298448492*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,702,126, - 16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298522415*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,702,127,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243208182735`*^9, 3.8055422570442*^9, - 3.805542298572364*^9}, - ExpressionUUID -> "1b009163-6d8a-4e37-b974-e76c304c84d4"] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{809, 704}, -WindowMargins->{{Automatic, -1252}, {44, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 378, 6, 70, "Section"], -Cell[961, 30, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1319, 38, 203, 3, 30, "Text"], -Cell[1525, 43, 740, 14, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2268, 59, 650, 9, 30, "Output"], -Cell[CellGroupData[{ -Cell[2943, 72, 482, 11, 50, "Input"], -Cell[3428, 85, 1752, 24, 30, "Output"] -}, Open ]], -Cell[CellGroupData[{ -Cell[5217, 114, 1710, 35, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6930, 151, 2120, 32, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9053, 185, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[9440, 197, 98, 0, 49, "Subsection"], -Cell[9541, 199, 1001, 16, 106, "Text"], -Cell[10545, 217, 20551, 256, 161, "Graphics"], -Cell[31099, 475, 2085, 46, 183, "Input"], -Cell[33187, 523, 646, 13, 69, "Input"], -Cell[33836, 538, 3026, 65, 278, "Input"], -Cell[36865, 605, 1647, 29, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[38549, 639, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[38697, 643, 230, 4, 30, "Text"], -Cell[38930, 649, 323, 7, 30, "Input"], -Cell[39256, 658, 376, 7, 30, "Text"], -Cell[39635, 667, 1911, 52, 170, "Input"], -Cell[41549, 721, 249, 4, 30, "Text"], -Cell[41801, 727, 191, 4, 30, "Input"], -Cell[41995, 733, 1246, 28, 76, "Input"], -Cell[43244, 763, 1240, 28, 76, "Input"], -Cell[44487, 793, 1954, 47, 94, "Input"], -Cell[46444, 842, 1293, 29, 76, "Input"], -Cell[47740, 873, 1338, 29, 76, "Input"], -Cell[49081, 904, 2082, 48, 94, "Input"], -Cell[51166, 954, 1294, 29, 76, "Input"], -Cell[52463, 985, 1304, 29, 76, "Input"], -Cell[53770, 1016, 2056, 48, 94, "Input"], -Cell[55829, 1066, 1296, 29, 76, "Input"], -Cell[57128, 1097, 1298, 29, 76, "Input"], -Cell[58429, 1128, 2081, 48, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[60547, 1181, 159, 3, 49, "Subsection"], -Cell[60709, 1186, 2209, 61, 307, "Input"], -Cell[62921, 1249, 243, 4, 30, "Text"], -Cell[63167, 1255, 3691, 99, 202, "Input"], -Cell[66861, 1356, 197, 3, 30, "Text"], -Cell[67061, 1361, 5054, 90, 537, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[72152, 1456, 162, 3, 49, "Subsection"], -Cell[72317, 1461, 194, 3, 30, "Text"], -Cell[72514, 1466, 1772, 34, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[74323, 1505, 174, 3, 49, "Subsection"], -Cell[74500, 1510, 1527, 24, 50, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[76064, 1539, 88, 0, 49, "Subsection"], -Cell[76155, 1541, 304, 6, 49, "Text"], -Cell[76462, 1549, 1698, 32, 202, "Input"], -Cell[CellGroupData[{ -Cell[78185, 1585, 122, 2, 30, "Input"], -Cell[78310, 1589, 563, 12, 39, "Message"], -Cell[78876, 1603, 565, 12, 39, "Message"], -Cell[79444, 1617, 563, 12, 39, "Message"], -Cell[80010, 1631, 450, 9, 21, "Message"], -Cell[80463, 1642, 564, 11, 39, "Message"], -Cell[81030, 1655, 5413, 80, 148, "Message"], -Cell[86446, 1737, 377, 8, 21, "Message"], -Cell[86826, 1747, 520, 11, 21, "Message"], -Cell[87349, 1760, 377, 8, 21, "Message"], -Cell[87729, 1770, 520, 11, 21, "Message"], -Cell[88252, 1783, 378, 8, 21, "Message"], -Cell[88633, 1793, 450, 9, 21, "Message"], -Cell[89086, 1804, 550, 11, 39, "Message"], -Cell[89639, 1817, 453, 9, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve43.hpp b/devPneumatic/PneumaticValve43.hpp deleted file mode 100644 index a3467be..0000000 --- a/devPneumatic/PneumaticValve43.hpp +++ /dev/null @@ -1,1128 +0,0 @@ -#ifndef PNEUMATICVALVE43_HPP_INCLUDED -#define PNEUMATICVALVE43_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve43.hpp -//! @author Petter Krus*, Victor Juliano De Negri** \ - -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 26 Aug 2020 13:22:12 -//! @brief Pneumatic 43-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, \ -PneumaticDevelop}/PneumaticValve43.nb*/ - -using namespace hopsan; - -class PneumaticValve43 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpP4; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - double delayParts13[9]; - double delayParts14[9]; - double delayParts15[9]; - double delayParts16[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[16]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port P4 variable - double p4; - double qm4; - double T4; - double dE4; - double c4; - double Zc4; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double qm14Pos; - double qm14Neg; - double qm34Pos; - double qm34Neg; - double Ng32e; - double Ng12e; - double Ng34e; - double Ng14e; - double Bfe; - //LocalExpressions variables - double kappa; - double Kg; - double Ndenom; - double crit; - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port P4 pointer - double *mpP_p4; - double *mpP_qm4; - double *mpP_T4; - double *mpP_dE4; - double *mpP_c4; - double *mpP_Zc4; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpqm14Pos; - double *mpqm14Neg; - double *mpqm34Pos; - double *mpqm34Neg; - double *mpNg32e; - double *mpNg12e; - double *mpNg34e; - double *mpNg14e; - double *mpBfe; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - Delay mDelayedPart90; - Delay mDelayedPart100; - Delay mDelayedPart110; - Delay mDelayedPart120; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve43(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(16,16); - systemEquations.create(16); - delayedPart.create(17,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpP4=addPowerPort("P4","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - qm14Pos=stateVark[4]; - qm14Neg=stateVark[5]; - qm34Pos=stateVark[6]; - qm34Neg=stateVark[7]; - dE2=stateVark[8]; - dE4=stateVark[9]; - dE1=stateVark[10]; - dE3=stateVark[11]; - p2=stateVark[12]; - p4=stateVark[13]; - p1=stateVark[14]; - p3=stateVark[15]; - //Expressions - qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ -qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm3 = qm32Neg*onNegative(-p2 + p3) + qm34Neg*onNegative(p3 - p4) - \ -qm32Pos*onPositive(-p2 + p3) - qm34Pos*onPositive(p3 - p4); - qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm34Neg*onNegative(p3 - p4) + \ -qm14Pos*onPositive(p1 - p4) + qm34Pos*onPositive(p3 - p4); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-crit + p3/p2) + \ -onPositive(-Bf + p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - \ -Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - Ng34e = onNegative(p3 - p4)*(onNegative(-Bf + p3/p4) + onPositive(-Bf \ -+ p3/p4)*signedSquareL(1 - Power(-Bf + p3/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p3 - p4)*(onNegative(-Bf + p4/p3) + onPositive(-Bf + \ -p4/p3)*signedSquareL(1 - Power(-Bf + p4/p3,2)/Power(1 - Bf,2),eps)); - Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ -+ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ -p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); - Bfe = Bf; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - delayedPart[13][1] = delayParts13[1]; - delayedPart[14][1] = delayParts14[1]; - delayedPart[15][1] = delayParts15[1]; - delayedPart[16][1] = delayParts16[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port P4 - (*mpP_p4)=p4; - (*mpP_qm4)=qm4; - (*mpP_dE4)=dE4; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpqm14Pos)=qm14Pos; - (*mpqm14Neg)=qm14Neg; - (*mpqm34Pos)=qm34Pos; - (*mpqm34Neg)=qm34Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - (*mpNg34e)=Ng34e; - (*mpNg14e)=Ng14e; - (*mpBfe)=Bfe; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE43_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve43.nb b/devPneumatic/PneumaticValve43.nb deleted file mode 100644 index a7bba77..0000000 --- a/devPneumatic/PneumaticValve43.nb +++ /dev/null @@ -1,2306 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 111879, 2298] -NotebookOptionsPosition[ 103735, 2181] -NotebookOutlinePosition[ 104381, 2203] -CellTagsIndexPosition[ 104338, 2200] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve43", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, - 3.8056277195650415`*^9},ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-\ -14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[36]:=",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\""}], - "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9, 3.8054557323076034`*^9, {3.8074297088580017`*^9, - 3.807429710910327*^9}}, - CellLabel->"In[37]:=",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9, 3.805455735116706*^9, {3.807429714589466*^9, - 3.8074297165645885`*^9}}, - CellLabel->"In[38]:=",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { - 3.8056277070079937`*^9, 3.8056277230464497`*^9}, 3.8056277732686453`*^9}, - CellLabel->"In[39]:=",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "26", ",", "13", ",", "22", ",", - "9.8902161`8.747780745593813"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { - 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, - 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, - 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, - 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, - 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, - 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, - 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, - 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, - 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, - 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { - 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, - 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, - 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, - 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, - 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, - 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, - 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, - 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, - 3.8055296122630434`*^9, 3.805529852446294*^9, 3.8056244780357227`*^9, { - 3.8056277567836494`*^9, 3.8056277962789516`*^9}, 3.8074297299382553`*^9}, - CellLabel->"Out[47]=",ExpressionUUID->"765104dd-abcb-4ebb-a74f-12cc870a77f5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, - 3.805627773269644*^9}, - CellLabel->"In[48]:=",ExpressionUUID->"b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. It \ -opens between pressure port (1) and load port (2) and between the load port \ -(4) and return (3) when the input signal it is one. The opening is \ -proportional to the input signal. At zero input signal it opens the load port \ -(2) to the return port (3) and between the pressure port (1) and load port \ -(4). The opening is proportional to the input signal. There is no valve \ -dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9, {3.8050237813496456`*^9, - 3.805023820894039*^9}},ExpressionUUID->"8691b14c-c93d-4322-aee2-\ -62f88b1104a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002J40@0006`0000000008P000384001O0P00 -oOoooogoooo44@00<`/00215CDH00040Q2H007@0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A020:D@Z@000 -900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?o]R<4B7`a13 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000000c1000YP80000000000000<`@00:H2000T000090000000P3l0000000000000P3okHS14 -Ql<@@`80000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 -00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 -0000000000000000000000000030ib]10001X`00001=0000000007QYhP0A00000000063]4AEHhTl0 -@:2`Me6]Ro_noooo`>5?05?0060001_=CAe -000000000000000000000:PEmhj9?0>`g9gKPDoX9C7d4[0T000000000100006Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@000320P008P000?`2002_0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380`b4k0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 -8D0700`000000000:T0002@0000H00000020?`00000000000020?kSf4TB7`a13140000`000000000 -8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 -YP80000000000000<`@00:H2000T000090000000P3l0000000000000P3nhmQ94Ql<@@`80000<0000 -40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 -000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 -000000000030ib]100010000001=0000000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo -`>5?05?0060001_=CAe0000000000000000 -00000:PEmhj9?0>`g9gKPDoX9C7d4[PT000000000100006Af00P000009@0000`0000100005P0000`0000H0000 -4P0000`000010000600000`000000002E00005@0001<0P008P0008H2002_00000P00000000000000 -0000000000010000C00000000000000000000?ooooooooooD00003@0<1@k00009@0000`0000>0020 -:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?hTD;dAA8a14140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000000c1000YP80000000000000 -<`@00:H2000T000090000000P3l0000000000000P3n952m4DB<@A080000<00004000000000000000 -2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 -K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000000000000030ib]1 -00010000001=0000000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9 -5g/4EPT000000000100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0002l0P00dP400?H2001O0P000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD00003400h8k00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@000010000000000U@000 -400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000 -0020?`00000000000020?i/b34AA8a14140000`0000000008@0000P0000L0000200004/000100000 -<00000D0000P00000@000040000@000000000000000c1000YP80000000000000<`@00:H2000T0000 -90000000P3l0000000000000P3nKL[@@00000000000000000000000000000000000030ib]100010000001=0000 -000005@0000A0000lGPQL`00001HhTl0@:2`Me6]Ro_noooo`>5?05?0060001_=CAe000000000000000000000:PEmhj9?0>`g9gKPDoX9@2<4K`T000000000 -100006Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002 -E00005@0000a0P00dP4006/2001O0P000P000000000000000000000000010000C000000000000000 -00000?ooooooooooD00003<0PWLk00009@0000`0000>0020:00000`0000100008P0000`0003ooooo -AP000<`000300000ADe6:bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000 -/08/>P00000003U3140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 -0@000040000@000000000000000c1000YP80000000000000<`@00:H2000T000090000;02;3X00000 -00000;02;3X00000000i@`80000R000030000?oooom60000a1000;P@0015CDH[:d0000`000000000 -7T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000 -/08/>P00000003U38D0700`00000000024000c`0000`00000Q30f`@00000000000000000003Po3ladV0Xla80000082Sc4P00@6100043P00ADe6:c100P0@000010000000P3lR@0@0 -30000000000Z@000900001P00000080o000000000000080o00000000000b@0017000010000000000 -00000000;4<00312:T0002@0000H00000020?`00000000000020?`00000000009D00010000040000 -000001m00`0<0000000001i02@0<0000000002501`0<0000000002Y0000T000060000000P3l00000 -00000000P3l00000000000Q000>X0000W000008@`=/@0000000003G2:T:T>iKBU2=L8Z@kU]:D;7W2m2^FdY@Te[;d:iKBU2 -eS3m=Jbm27020?lNL;d8L080o00<30`430`<10`<3 -0@<3PaA0080@000010000?ooool8@042>00002`000024<3K000009P000000000:P00@0<000000810 -0000008@`=/000000000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000 -0000@0<0000008100000008@`=/000000000o`Q00`00002`000024<3K000009P000000000K7N7?P<0000008100000008@`=/00000 -0000oaE01P0@0000100000L0000Z@000900001P00000080o000000000000080o000000000008@0P2 ->00002`000024<3K000009P0000000000000@0<0000008100000008@`=/000000000o`Q02@00002`000024<3K000009P000000000 -PB>9?P<0000008100000008@`=/000000000oaE0300@0000100000d0000Z@000900001P00000080o -000000000000080o000000000008@0h3Z00009`000024<3K40000000003B1bm2^@:]@IdX;d:i0Ze1 -[D4b@bm2jlR^@C93;d:MRRQ200002`000024<3K000009P000000000 -?I/=@0<0000008100000008@`=/000000000o`Q04`FUe12Zmh@Xal94400H40540HP100000400000000o`Q06@8h0000 -;000008@`=/00000V0000000000gaElo0`000000P40000000Q30f`000000003o5D0H010000040000 -6@0002Y0000T000060000EZT;;Aa93004001E07@0@0000100001`0000Z@000900001P00000080o000000000000080o -00000000000Z@000900001P00038hg50000006cHSKS8hg700Ge;`lim2T@8@1h2>00002`000024<3K -000009P000000000el;d?P<0000008100000008@`=/000000000o`Q07`3UJY2bdLB@`01000E@240400000@0000P0000:T0002@0000H00000020?`0000000000 -0020?`0000000000:T0002@0000H0000b>=a@00000000000b>=a@0[KHl>>BOo3240R0SP0000/0000 -0Q30f`00002H000000000384n3h300000020@00000024<3K000000000?l8@2<3;000020000024<3K -0P000000003VOkA2b;`?@lc>^D:B_Pm3004001E08`0@0000100002800008@2@2>00002`000024<3K -000009P000000000TB[Z?P<0000008100000008@`=/000000000o`Q09@EZT;;Aa93004001E0:@0@0000100002P0000Z@000900001P00000080o -000000000000080o00000000000Z@000900001P00000080o000000000000080o00000000000Z@000 -900001P00000080o000000000000080o00000000000V@000400000@000000000240Z11P0000<0000 -0Q30f`000003000@=40Z00`0000000008@0000P0001R000030000040001<0000I0000?goooomoooo -[P0002d0003moooooOoook80000a0000:@2Z0000000000000020?`00000000000020?`0000000000 -000000000000000000000000000000008P0000`0003oooooAP0001`0000@0000ADe6:`90000<0000 -000000h0000D000000000100000D0000240222@0000H00000Q30f`40000300000000000000000000 -6d010400000d00000P000080001;KSFoP6`e_cOk;4<1/cA20`0004]^=Kn0K3Fob4D/@h1/=Km;KSFo -Cmda@R4000080000HP0000`0000100008@0000P0000N000060000000002i0000<`@00<`1000L0000 -20000240000800008@0000P0001c000030000000000L0000200002D0000<00000000P2D0000<0000 -1`00P2D0000<00003P00P1T0000<0000oooo01P0000<000000000180000<00000P0001<0000<0000 -0@0001@0000<00003@0001D0000<00000@0001H0000<0000000000d0000@000000000000000j0000 -300000X0000K000040000000000000008`000200003/eLM000000000003`NlI0FJ2=@4iU?DcEad00000000000?1kaT1IX8e0CVDm@`@0001c000030000000000=000040000000002i0000 -DP00070100010000400000L00000000000000;`2000000001`828U<0N@1c07@0I@1]000000000000 -0000000000000000000000000000000000000000000000000000000000000000O`L00:SIC`35i:ag -Z=U?00?V[7MPP0000000000/08/>P00000003U3940000`000000000:d0000`000000000 -7T0600`0000000008D0500`000000000240312P0000L00000Q30f`000000000@0000P0000800H8I4 -080YA3A00`0<0000000001i02@0<0000000002Y0000T000060000;02;3X0000000000;02;3X00000 -000i@b501`0<0000000002Y0000T000060000;02;3X0000000000;02;3X00000000i@bY0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@0000100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q0000 -20000680000<00000@0004`0001T000000000;T0000b1000b`400000002i0000<`@001<1000Y0:X0 -000000000000080o000000000000080o0000000000000000000000000000000000000000000R0000 -30000?oooom60000700001000015CDH[0T0000`0000000003P0001@000000000400001@0 -\>"], "Graphics", - ImageSize->{215., 136.25}, - ImageMargins->{{81, 0}, {0, - 0}},ExpressionUUID->"9ac7b584-97fa-4869-9e52-67246a1c4fa2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - CellLabel->"In[49]:=",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - CellLabel->"In[50]:=",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, - 3.8055253268748503`*^9}}, - CellLabel->"In[51]:=",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, - CellLabel->"In[52]:=",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"3f37ab2d-e430-4819-a562-dfc5dc73a12c"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, - 3.804857115838684*^9}},ExpressionUUID->"b6eabba5-689e-41d3-a701-\ -bdf6d39b380b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", "xin"}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, - 3.8074296988609934`*^9}, - CellLabel->"In[53]:=",ExpressionUUID->"5f6f949a-b2db-4758-92a5-bab21f6f17a7"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, - 3.8050144886985893`*^9},ExpressionUUID->"f23c5a13-ce0e-4fb9-82f7-\ -7ccb0d190756"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf14", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf34", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { - 3.805455158947027*^9, 3.805455179490837*^9}}, - CellLabel->"In[54]:=",ExpressionUUID->"a464a7a7-686f-4523-b9f1-7e79fc500964"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf34", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, - 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { - 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, - 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { - 3.8055275203538437`*^9, 3.8055275229851294`*^9}}, - CellLabel->"In[58]:=",ExpressionUUID->"3662081e-fc84-4534-8082-a4d488e89d82"], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"f1e01d87-d10c-4e1f-9df2-\ -429682ed3079"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - CellLabel->"In[62]:=",ExpressionUUID->"0f669350-3c39-434f-a8c4-fbf45f961e1c"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { - 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, - CellLabel->"In[63]:=",ExpressionUUID->"77aa4a52-67b5-4fe4-9a75-902adcce3a66"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, - 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, - CellLabel->"In[64]:=",ExpressionUUID->"cf3d0473-42e4-46bb-8e02-74151ff1baea"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv - "], - CellLabel->"In[65]:=",ExpressionUUID->"f3259fdf-6053-4143-92c7-ebbeb818451a"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, - 3.805529803320966*^9}}, - CellLabel->"In[66]:=",ExpressionUUID->"8cd3fa19-1323-47c8-b0d1-e4be59c111b2"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { - 3.805529804336918*^9, 3.805529805264961*^9}}, - CellLabel->"In[67]:=",ExpressionUUID->"0031f393-ff86-447b-b4c0-26637c96b6bb"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, - 3.80552980857155*^9}}, - CellLabel->"In[68]:=",ExpressionUUID->"35167695-1076-495c-81ed-a56cdfe635a7"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, - 3.8055269059685616`*^9}}, - CellLabel->"In[69]:=",ExpressionUUID->"c1635681-402c-4cc3-98b0-590f8d84c9b2"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { - 3.8055269247042356`*^9, 3.805526925551361*^9}}, - CellLabel->"In[70]:=",ExpressionUUID->"a81ff3e8-7e90-4584-90de-2c7b9000c5b6"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U - - "], - CellLabel->"In[71]:=",ExpressionUUID->"8e6e0047-5430-435b-b88a-367935c1253e"], - -Cell[BoxData[ - RowBox[{"Ng34Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, - 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}}, - CellLabel->"In[72]:=",ExpressionUUID->"072dfa41-2bb7-4c65-977f-e233a58899d0"], - -Cell[BoxData[ - RowBox[{"Ng34Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf34"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, - 3.805526943719621*^9}}, - CellLabel->"In[73]:=",ExpressionUUID->"192e622c-1c0a-4245-aaaf-015c38a3087a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng34Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng34Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "Bf34"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, - 3.805529825723857*^9}}, - CellLabel->"In[74]:=",ExpressionUUID->"78bae3b6-4f55-409f-83a9-459913c42331"], - -Cell["New equations", "Text", - CellChangeTimes->{{3.805524947233452*^9, - 3.8055249549494934`*^9}},ExpressionUUID->"2bf20dc9-a80a-412f-b4ad-\ -219433a841c5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - CellLabel->"In[75]:=",ExpressionUUID->"bd2e19b2-b9c1-4556-99ce-7c5304d27def"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, 3.8055264099145555`*^9, {3.805526577594593*^9, - 3.8055265785376205`*^9}, {3.8055271226870155`*^9, 3.805527123869795*^9}, - 3.805527740537723*^9},ExpressionUUID->"13d637b9-1555-421b-8227-\ -db7469f89155"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, 3.805526409916554*^9, - 3.805526579778341*^9, {3.805527124670969*^9, 3.80552712535826*^9}, - 3.80552774054072*^9},ExpressionUUID->"ddd652e9-cd19-47cd-a930-\ -2bb72dd095fe"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, - 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { - 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, - 3.8054538803995576`*^9}, {3.805527641611766*^9, 3.805527645459796*^9}, - 3.805529598322423*^9},ExpressionUUID->"27bfae8c-7302-4141-a2bf-\ -d9e3263f3238"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, - 3.8055263349039297`*^9, 3.8055266140100307`*^9, {3.8055268414833913`*^9, - 3.805526842481363*^9}, 3.8055270864154296`*^9, - 3.8055296089434676`*^9},ExpressionUUID->"fe613658-e1b8-4f9b-a802-\ -0bc290b03b31"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, 3.805526328338702*^9, 3.805526614013027*^9, { - 3.8055268433864284`*^9, 3.8055268441995883`*^9}, 3.805527086420425*^9, - 3.805529608946464*^9},ExpressionUUID->"bdd60820-4197-4dd9-b1b7-\ -8eaa36c880b5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805527683510547*^9, 3.805527693371375*^9}, {3.805529507535071*^9, - 3.80552951191755*^9}, - 3.8055296089484615`*^9},ExpressionUUID->"df7d93e8-b17a-4aa5-8ee6-\ -d37cce4d8737"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055249814321766`*^9, 3.8055249829356265`*^9}, 3.805526364135778*^9, - 3.8055266227879753`*^9, 3.8055277773247786`*^9, {3.805527870193982*^9, - 3.8055278767632055`*^9}, - 3.8055297742309713`*^9},ExpressionUUID->"5bf81bb3-4301-4ce6-b6f2-\ -3c6c2347be17"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805524983864667*^9, 3.8055249846158924`*^9}, - 3.8055263641387744`*^9, 3.8055266227909737`*^9, 3.805527777326775*^9, - 3.805527876765204*^9, - 3.80552977423297*^9},ExpressionUUID->"db7e5e62-1fd5-4224-9710-\ -ea7ceb0a0a12"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, { - 3.804780238611289*^9, 3.804780262738881*^9}, {3.804780377568401*^9, - 3.8047803803115644`*^9}, {3.8047804500186615`*^9, - 3.8047804526739225`*^9}, {3.805011095983277*^9, 3.8050111010313435`*^9}, { - 3.805011292970425*^9, 3.8050113217262278`*^9}, {3.8054538581435146`*^9, - 3.8054538803995576`*^9}, {3.8054553818650866`*^9, - 3.8054554005118523`*^9}, {3.805527833475857*^9, 3.805527843570444*^9}, - 3.8055295212149596`*^9, - 3.8055297742359667`*^9},ExpressionUUID->"ec545716-415d-4f56-b87b-\ -943ed6410b3e"], - -Cell[BoxData[ - RowBox[{"Ng34Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055249874229965`*^9, - 3.805524988247146*^9}, 3.8055263703683476`*^9, 3.80552669658885*^9, - 3.8055297742379646`*^9},ExpressionUUID->"7285dded-a20f-4fd0-ab96-\ -7c32a971f296"], - -Cell[BoxData[ - RowBox[{"Ng34Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "crit"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Text", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805524989111255*^9, 3.805524989927414*^9}, 3.8055263703743415`*^9, - 3.805526696590848*^9, - 3.805529774238964*^9},ExpressionUUID->"9fa5f515-c45d-471e-bb8b-\ -b6a38d9a56e4"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Text", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, - 3.805529774240961*^9},ExpressionUUID->"b59efbec-7ca0-452f-b1bc-\ -57e02bacc170"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"9c8487f3-d792-499b-b83d-\ -d892e92b9761"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Bf", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}, {3.8055256479961305`*^9, 3.8055256582105937`*^9}, - 3.8055256895792384`*^9, {3.8055257273223047`*^9, 3.8055257298656807`*^9}, - 3.8055259498950443`*^9, 3.8055260626667433`*^9, {3.8055261209216537`*^9, - 3.8055261237827024`*^9}, 3.8055271676386476`*^9, {3.8055272416423116`*^9, - 3.805527250725942*^9}, {3.8055274170813465`*^9, 3.805527443933647*^9}, { - 3.8055275137886157`*^9, 3.8055275142950935`*^9}, {3.805529845314649*^9, - 3.805529848927924*^9}}, - CellLabel->"In[76]:=",ExpressionUUID->"925e8147-260b-4ae2-a077-4ccece4e1320"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"d498cdc3-afb6-41a2-a5a9-\ -bf55608ed723"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE34", "=", - RowBox[{"qm34", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm34", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, - CellLabel->"In[77]:=",ExpressionUUID->"ca8b58d5-b3b2-4694-b98a-8bf2f94bfae1"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"16a4c55d-3f1b-4184-aab2-\ -84cb40eb016b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - RowBox[{"Cf14", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - RowBox[{"Cf14", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Pos", "==", - RowBox[{"Cf34", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Neg", "\[Equal]", - RowBox[{"Cf34", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", - "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, - 3.805455634417577*^9}, 3.8054560708467517`*^9}, - CellLabel->"In[85]:=",ExpressionUUID->"3bbdeb39-de81-47b4-b6fc-6e8113ed8429"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179915385733`*^9, - 3.8050179925094385`*^9}},ExpressionUUID->"60701491-65f0-4152-a259-\ -e15f71628f8e"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"185fa84e-3f52-4d3b-b722-\ -e50b73fe167d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, - CellLabel->"In[86]:=",ExpressionUUID->"7f45f718-9490-461f-b146-1311aa2a24c5"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"a3a12c51-b778-4e18-8e1a-\ -7d0e0ff65517"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, - CellLabel->"In[87]:=",ExpressionUUID->"aed11a89-3aa7-4724-9ed9-aa33590a712d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"3a5b0239-9ae0-4baa-9949-a08ff28e0827"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, - 3.8047464099747696`*^9}},ExpressionUUID->"2357439c-7e93-41bb-9411-\ -56f3ec0260e6"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", - RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, - 3.805525497428443*^9, 3.8055260034368134`*^9}, - CellLabel->"In[88]:=",ExpressionUUID->"6b05c835-b975-4200-8a8a-ec2005bec131"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellLabel->"In[89]:=",ExpressionUUID->"f51a4c92-785a-4aff-b8ca-37ce5a43962c"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement", "cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve43\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve43\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.4`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"P2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"14\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.857143\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0.928571\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Bfe\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve43\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"P\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"43\\\\\\\"\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"PneumaticValve43.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\ -\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\ -\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\ -\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\ -\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\ -\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ -\", \\\"14\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\ -\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \ -\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\ -\"}], \\\"]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \ -\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \ -\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\ -\"}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"Rule\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is \ -not a list of contents. The third item in an XMLElement must be a list of \ -contents, even if it is an empty list.\"", 2, 89, 23, 19168101375392658865, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297327675967`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"f12f5c5f-774b-48f8-8274-e2643cde3082"], - -Cell[BoxData[ - TemplateBox[{ - "Export", "autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"", 2, 89, 24, 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297328899913`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"3ecb0b67-e9b5-4a05-ab71-5125a95488c7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement", "attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"", 2, 89, 25, 19168101375392658865, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297329056225`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"69ee6d6b-ba1f-442b-ac2e-1de72542c28b"], - -Cell[BoxData[ - TemplateBox[{ - "Export", "autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"", 2, 89, 26, 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297329212475`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"add8a185-134b-4648-b73c-02b79b947e1b"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement", "attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"", 2, 89, 27, 19168101375392658865, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297329368696`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"b8bf90a2-3a93-4e3a-a6a3-766599eb44d3"], - -Cell[BoxData[ - TemplateBox[{ - "Export", "autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"", 2, 89, 28, 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.807429733005885*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"0e9fe37c-7faa-4dac-a5bb-df87e2d3846e"], - -Cell[BoxData[ - TemplateBox[{ - "General", "stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"", 2, 89, 29, 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297330215073`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"099225a9-f3a9-4f95-9f29-112171b39f9f"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement", "attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"", 2, 89, 30, - 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.807429733094333*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"22beec88-dff8-402e-849f-ff47daeb39ea"], - -Cell[BoxData[ - TemplateBox[{ - "General", "stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"", 2, 89, 31, 19168101375392658865, "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8074297331632767`*^9}, - CellLabel-> - "During evaluation of \ -In[89]:=",ExpressionUUID->"0c42d74c-fb6c-4756-8f99-8ee1bacc7a64"] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{1120, 801}, -WindowMargins->{{Automatic, 217}, {Automatic, 0}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (March 14, 2020)", -StyleDefinitions->"Default.nb", -ExpressionUUID->"aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 402, 6, 67, "Section",ExpressionUUID->"a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], -Cell[985, 30, 375, 6, 28, "Input",ExpressionUUID->"844b3beb-a2fd-4fc9-87e6-b4719622a54d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1363, 38, 203, 3, 34, "Text",ExpressionUUID->"d841070d-8477-431e-b63d-f1e54cda9d7b"], -Cell[1569, 43, 823, 16, 28, "Input",ExpressionUUID->"b1a17ebe-ca25-48b4-8480-1a36ba699ce9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2395, 61, 560, 12, 28, "Input",ExpressionUUID->"9fffce38-6c31-4ac2-8fe0-709b9320587f"], -Cell[CellGroupData[{ -Cell[2980, 77, 1879, 38, 181, "Input",ExpressionUUID->"f1d28f9a-2912-4dec-a44b-799e1f1980c6", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4862, 117, 3522, 50, 32, "Output",ExpressionUUID->"765104dd-abcb-4ebb-a74f-12cc870a77f5", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[8387, 169, 396, 8, 28, "Input",ExpressionUUID->"b013c274-698f-428f-b38d-a2e617c365f0", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[8820, 182, 98, 0, 53, "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], -Cell[8921, 184, 1001, 16, 78, "Text",ExpressionUUID->"8691b14c-c93d-4322-aee2-62f88b1104a4"], -Cell[9925, 202, 13529, 169, 145, "Graphics",ExpressionUUID->"9ac7b584-97fa-4869-9e52-67246a1c4fa2"], -Cell[23457, 373, 2506, 53, 213, "Input",ExpressionUUID->"303be765-e9fc-44f7-94b5-8b137bbc4f2a"], -Cell[25966, 428, 666, 13, 67, "Input",ExpressionUUID->"b285c72f-9e43-46ac-b84f-0805e85dec8d"], -Cell[26635, 443, 3268, 70, 295, "Input",ExpressionUUID->"1547f96f-2227-4719-9bd2-75f498556134"], -Cell[29906, 515, 1667, 29, 124, "Input",ExpressionUUID->"6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], -Cell[CellGroupData[{ -Cell[31610, 549, 145, 2, 53, "Subsection",ExpressionUUID->"3f37ab2d-e430-4819-a562-dfc5dc73a12c", - Evaluatable->False, - PageBreakAbove->False], -Cell[31758, 553, 230, 4, 34, "Text",ExpressionUUID->"b6eabba5-689e-41d3-a701-bdf6d39b380b"], -Cell[31991, 559, 322, 6, 28, "Input",ExpressionUUID->"5f6f949a-b2db-4758-92a5-bab21f6f17a7"], -Cell[32316, 567, 376, 7, 34, "Text",ExpressionUUID->"f23c5a13-ce0e-4fb9-82f7-7ccb0d190756"], -Cell[32695, 576, 1973, 53, 160, "Input",ExpressionUUID->"a464a7a7-686f-4523-b9f1-7e79fc500964"], -Cell[34671, 631, 790, 15, 86, "Input",ExpressionUUID->"3662081e-fc84-4534-8082-a4d488e89d82"], -Cell[35464, 648, 249, 4, 34, "Text",ExpressionUUID->"f1e01d87-d10c-4e1f-9df2-429682ed3079"], -Cell[35716, 654, 211, 4, 28, "Input",ExpressionUUID->"0f669350-3c39-434f-a8c4-fbf45f961e1c"], -Cell[35930, 660, 1212, 25, 69, "Input",ExpressionUUID->"77aa4a52-67b5-4fe4-9a75-902adcce3a66"], -Cell[37145, 687, 1165, 24, 69, "Input",ExpressionUUID->"cf3d0473-42e4-46bb-8e02-74151ff1baea"], -Cell[38313, 713, 1469, 42, 88, "Input",ExpressionUUID->"f3259fdf-6053-4143-92c7-ebbeb818451a"], -Cell[39785, 757, 1266, 26, 69, "Input",ExpressionUUID->"8cd3fa19-1323-47c8-b0d1-e4be59c111b2"], -Cell[41054, 785, 1208, 25, 69, "Input",ExpressionUUID->"0031f393-ff86-447b-b4c0-26637c96b6bb"], -Cell[42265, 812, 2209, 50, 88, "Input",ExpressionUUID->"35167695-1076-495c-81ed-a56cdfe635a7"], -Cell[44477, 864, 1266, 26, 69, "Input",ExpressionUUID->"c1635681-402c-4cc3-98b0-590f8d84c9b2"], -Cell[45746, 892, 1215, 25, 69, "Input",ExpressionUUID->"a81ff3e8-7e90-4584-90de-2c7b9000c5b6"], -Cell[46964, 919, 1474, 43, 88, "Input",ExpressionUUID->"8e6e0047-5430-435b-b88a-367935c1253e"], -Cell[48441, 964, 1313, 26, 69, "Input",ExpressionUUID->"072dfa41-2bb7-4c65-977f-e233a58899d0"], -Cell[49757, 992, 1260, 26, 69, "Input",ExpressionUUID->"192e622c-1c0a-4245-aaaf-015c38a3087a"], -Cell[51020, 1020, 2208, 50, 88, "Input",ExpressionUUID->"78bae3b6-4f55-409f-83a9-459913c42331"], -Cell[53231, 1072, 157, 3, 34, "Text",ExpressionUUID->"2bf20dc9-a80a-412f-b4ad-219433a841c5"], -Cell[53391, 1077, 211, 4, 28, "Input",ExpressionUUID->"bd2e19b2-b9c1-4556-99ce-7c5304d27def"], -Cell[53605, 1083, 1237, 26, 80, "Text",ExpressionUUID->"13d637b9-1555-421b-8227-db7469f89155"], -Cell[54845, 1111, 1156, 25, 80, "Text",ExpressionUUID->"ddd652e9-cd19-47cd-a930-2bb72dd095fe"], -Cell[56004, 1138, 2081, 49, 99, "Text",ExpressionUUID->"27bfae8c-7302-4141-a2bf-d9e3263f3238"], -Cell[58088, 1189, 1293, 27, 80, "Text",ExpressionUUID->"fe613658-e1b8-4f9b-a802-0bc290b03b31"], -Cell[59384, 1218, 1233, 26, 80, "Text",ExpressionUUID->"bdd60820-4197-4dd9-b1b7-8eaa36c880b5"], -Cell[60620, 1246, 2210, 51, 99, "Text",ExpressionUUID->"df7d93e8-b17a-4aa5-8ee6-d37cce4d8737"], -Cell[62833, 1299, 1343, 28, 80, "Text",ExpressionUUID->"5bf81bb3-4301-4ce6-b6f2-3c6c2347be17"], -Cell[64179, 1329, 1265, 27, 80, "Text",ExpressionUUID->"db7e5e62-1fd5-4224-9710-ea7ceb0a0a12"], -Cell[65447, 1358, 2165, 51, 99, "Text",ExpressionUUID->"ec545716-415d-4f56-b87b-943ed6410b3e"], -Cell[67615, 1411, 1314, 27, 80, "Text",ExpressionUUID->"7285dded-a20f-4fd0-ab96-7c32a971f296"], -Cell[68932, 1440, 1261, 27, 80, "Text",ExpressionUUID->"9fa5f515-c45d-471e-bb8b-b6a38d9a56e4"], -Cell[70196, 1469, 2159, 50, 99, "Text",ExpressionUUID->"b59efbec-7ca0-452f-b1bc-57e02bacc170"] -}, Open ]], -Cell[CellGroupData[{ -Cell[72392, 1524, 159, 3, 53, "Subsection",ExpressionUUID->"9c8487f3-d792-499b-b83d-d892e92b9761"], -Cell[72554, 1529, 3054, 78, 345, "Input",ExpressionUUID->"925e8147-260b-4ae2-a077-4ccece4e1320"], -Cell[75611, 1609, 291, 4, 34, "Text",ExpressionUUID->"d498cdc3-afb6-41a2-a5a9-bf55608ed723"], -Cell[75905, 1615, 3711, 99, 200, "Input",ExpressionUUID->"ca8b58d5-b3b2-4694-b98a-8bf2f94bfae1"], -Cell[79619, 1716, 197, 3, 34, "Text",ExpressionUUID->"16a4c55d-3f1b-4184-aab2-84cb40eb016b"], -Cell[79819, 1721, 5136, 91, 519, "Input",ExpressionUUID->"3bbdeb39-de81-47b4-b6fc-6e8113ed8429"] -}, Open ]], -Cell[CellGroupData[{ -Cell[84992, 1817, 162, 3, 53, "Subsection",ExpressionUUID->"60701491-65f0-4152-a259-e15f71628f8e"], -Cell[85157, 1822, 194, 3, 34, "Text",ExpressionUUID->"185fa84e-3f52-4d3b-b722-e50b73fe167d"], -Cell[85354, 1827, 1792, 34, 124, "Input",ExpressionUUID->"7f45f718-9490-461f-b146-1311aa2a24c5"] -}, Open ]], -Cell[CellGroupData[{ -Cell[87183, 1866, 174, 3, 53, "Subsection",ExpressionUUID->"a3a12c51-b778-4e18-8e1a-7d0e0ff65517"], -Cell[87360, 1871, 1547, 24, 28, "Input",ExpressionUUID->"aed11a89-3aa7-4724-9ed9-aa33590a712d"] -}, Open ]], -Cell[CellGroupData[{ -Cell[88944, 1900, 88, 0, 53, "Subsection",ExpressionUUID->"3a5b0239-9ae0-4baa-9949-a08ff28e0827"], -Cell[89035, 1902, 304, 6, 34, "Text",ExpressionUUID->"2357439c-7e93-41bb-9411-56f3ec0260e6"], -Cell[89342, 1910, 1886, 35, 219, "Input",ExpressionUUID->"6b05c835-b975-4200-8a8a-ec2005bec131"], -Cell[CellGroupData[{ -Cell[91253, 1949, 142, 2, 28, "Input",ExpressionUUID->"f51a4c92-785a-4aff-b8ca-37ce5a43962c"], -Cell[91398, 1953, 8602, 124, 148, "Message",ExpressionUUID->"f12f5c5f-774b-48f8-8274-e2643cde3082"], -Cell[100003, 2079, 384, 9, 21, "Message",ExpressionUUID->"3ecb0b67-e9b5-4a05-ab71-5125a95488c7"], -Cell[100390, 2090, 526, 12, 21, "Message",ExpressionUUID->"69ee6d6b-ba1f-442b-ac2e-1de72542c28b"], -Cell[100919, 2104, 384, 9, 21, "Message",ExpressionUUID->"add8a185-134b-4648-b73c-02b79b947e1b"], -Cell[101306, 2115, 526, 12, 21, "Message",ExpressionUUID->"b8bf90a2-3a93-4e3a-a6a3-766599eb44d3"], -Cell[101835, 2129, 382, 9, 21, "Message",ExpressionUUID->"0e9fe37c-7faa-4dac-a5bb-df87e2d3846e"], -Cell[102220, 2140, 456, 10, 21, "Message",ExpressionUUID->"099225a9-f3a9-4f95-9f29-112171b39f9f"], -Cell[102679, 2152, 554, 12, 21, "Message",ExpressionUUID->"22beec88-dff8-402e-849f-ff47daeb39ea"], -Cell[103236, 2166, 459, 10, 21, "Message",ExpressionUUID->"0c42d74c-fb6c-4756-8f99-8ee1bacc7a64"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve43.pdf b/devPneumatic/PneumaticValve43.pdf deleted file mode 100644 index 75fdeb2ba7b1823b2981d6872d5075b1f42390f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83608 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 diff --git a/devPneumatic/PneumaticValve43.svg b/devPneumatic/PneumaticValve43.svg deleted file mode 100644 index e1d7251..0000000 --- a/devPneumatic/PneumaticValve43.svg +++ /dev/null @@ -1,938 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve43.xml b/devPneumatic/PneumaticValve43.xml deleted file mode 100644 index d217a15..0000000 --- a/devPneumatic/PneumaticValve43.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - Pnenumatic Valve43. - PneumaticValve43.nb - PneumaticValve43.pdf - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve43G.nb b/devPneumatic/PneumaticValve43G.nb deleted file mode 100644 index e11d860..0000000 --- a/devPneumatic/PneumaticValve43G.nb +++ /dev/null @@ -1,1941 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 95172, 1933] -NotebookOptionsPosition[ 91441, 1826] -NotebookOutlinePosition[ 92093, 1848] -CellTagsIndexPosition[ 92050, 1845] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve42", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, - 3.8050154086866717`*^9, 3.8055423789144907`*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9, 3.805017464201169*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9, 3.805017466360217*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, {3.805015403180214*^9, - 3.80501540461871*^9}, 3.805023293250611*^9, {3.805542374100456*^9, - 3.8055423758916087`*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "4", ",", "17", ",", "6", ",", - "58.3428196`9.518562244901013"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, - 3.8050150585559487`*^9, 3.8050150990774965`*^9, 3.805015442348082*^9, - 3.805023293250611*^9, 3.8050243267967815`*^9, 3.8055424184027586`*^9}, - ExpressionUUID -> "2cc7933b-b490-466e-b72e-d254152371ee"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805023293250611*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"fadab240-49cc-4b81-bd36-7fa09970aaa6"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. It is \ -closes all flow paths when the input signal is zero and opens between \ -pressure port (1) and load port (2) and between the load port (4) and return \ -(3) when it is one. The opening is proportional to the input signal. At \ -negative signals it opens the load port (2) to the return port (3) and \ -between the pressure port (1) and load port (4). The opening is \ -proportional to the input signal. There is no valve dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9},ExpressionUUID->"edfb927c-dba4-4e5f-ba78-\ -d5e22027e051"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0004Ed0@0006`0000000008@00038400250P00 -oOoooogoooo44@00e0/00215CDH00040M4D005H0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000k0d00>0=0015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A000P0000000000/08/>P00000004m3 -:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000004m38D0700`00000000024000c`0000`00000Q30f`@000000000 -00000000003Po3ladV0Xla80000082Sc4P00@61 -``003/<1afnXI00001UdAEQdDfmVM7MQLVD0MgMg;VU^Jg=SHG1U;VmbIi_^?1X000/gBDA1E7RLkIam -D9AEnlLob`9;;<_Kd`<:fZVD>A=:AC2IRXAFA:8@2TG_UX=Jd0a9P4300[;WnL=WmnOn5]akfK]If?HcLln`Ijoc_Jjm^CRL?OMe3/`/LP3Q^_jA -U`58DC1cn0m`6IQ9O?WkMZNnK<6@2l_;bhM>VB;?ODN7gllLN/G;WbUSK679Q9 -2F/COGem=3DelN677cXj5:MPjM:Ua73R0BZFRZZZ:Ccome6jmj^YZWWonNC@J3@T92I;j>6g2jW@j1PL7lO;bXZj^c]7Q>0EQHF6T -YJD1=jI6Hf=SDmKBjGA/g[bIWYhN_;blF;AXTJAnCYV`Hf=SO?KII`3dmoMCEEGUh8RLQjb/;492@_Sa -aaliO?S`U3A:Bd_I]6TC_Kfm02aK]TabGjMWCn?^kPiPV]BkT0LO7aofkM/7@4i>3UeMGCKe;bTY -hLDGGfATI0@0Kfm_eZmO;kVoDbI/ADD5@d=3Y]L30`=L_7SAPA4i5a/gK^C11anT]kNGk>a/bOgNN^/] -d]?CjNo_=kFYeFXNNN@AbAY>VK1EEEF=Td3SaJgY:InnjkSfNOOAJ3`D1JF][=JjDF73YdR9dk -Mm;Cdf?F[U@ZBDY://V_dbE/MGDeejmO]fQ_JFTaVbJh/9olo7clo?`hNoH/iNGUTmXU92B@VYYZ1^[Xjh^;R71[Oh>0P[kkjZTGk]mmn2l077gc0 -eemoKF[gmOEUmnkM5_I3@d>ll/X[Tn[XM3YJFe]=kChn?VAUIMTMold41@FAUIF5EZ]5ZmDB7an?FZff -/0/92N7eeenW/[:BPH41O7al<1P<:9E:5RmN;6]OWRo[jnTWkFR<_;dl08SdmgJY]BDV904A:BX[5NeN_G[FYj2SYJ -0>;lnO>fgi3o3S8j>SZYSReOK6c1`l>3P`L?/V[E:_K_ -glnVCI^H?gnnVDe7A`O5aLD051HF4QPHB6IViYCl>EG2cPBl_KeUn@>BBdL>7WgdDEJ_G/gahlOAJ[ED -E5BH_Km[ebj6QXJ8SHgUbBNO]<^GdggYL^4HRX^;DJUDE5IFL_;TBE?kEemmAEUI6@Z5PSONN0>5`[kZ -D5O2^Y25/;0`]VoO3/2>7C]iookkkOKSBUPG/W5cWL4kkka3IFDUmOGeg7KKKKcf -fV^bn73=HEg8QTJS8Bl_SmCDE?K/fD=0@0006ATIg7777K;hL>O6UY?iePbW0G3X45kM0XE2`Kmln7WkhH@2fK=V2[jn_K?[^`5j01@/Fb2Ij -oOYeO_omMc@J3H61PK9XSXf=dMkNK_4lf/GdXkZjf_CcZE>Wb5hf][JN?_]]h4K3dTJ6QXhM^bHJI>U_O`]Z`A7SQ`1K]A=^_QWTI6A -`NSX:8lmmQQkmnhe]@d>3/ZR;g_2=SDeLN721H:3PeViLZGLlRjV=dh7De5@iIIf>VYXJm7ZmI?_77glLUDYUdGkln76K -MU74alOSiNDUfEhZQHF5o?KKKlbIgK@f]YZegAA05<^h3GBdmRJE;UhZHV1PaMniLDb5dC4b7golHMIOSP;^c/i>hN_[:`1am>SABNgjno_5k=Vc1B0> -7CXTQ12RXj=3M7EeBO9So0bbSK3UiNFCL^G=V9iadMWKBfMV9WioOU9n? -alO7dmOGImKFf=Q8AdL73cc`Pl9nlldg@ZUD2T2L?WgJZWe[ -Jj_`moLg^iM;URbAi<]X;l^G[[Jf=QXK6e6[eGIGU4lgTY>C;KJYJ3@JVkLW>b=J[IKalG6BTY:/7SND -WYk>@`lma;E[elcJ;ennK3X5APZb96aYJBU229:BTRKMPcACRHn?]mP[YMO[oo4?AFY[JcUilRBNWYjV -/g=_AGIf=Z6QXBREB[=f_Ei_>W]F2WHW[132ZAo51PD5LMMMMiVeADE5oFfKnVH2hn?SY_eTFkM^9C`l -g6ZOP8006QXJR8R8<4_J_[hnM3ZMI=mf9ncI/fMYJf/S=3BD5B]Ff2/g;DU>C/K3``<0MgMgWWWV6@M7 -i5SNOOMM__onN`820RHljkkcI;fU>WCTWF/3]QSF^_6cM^]1S^WHFWWW[:m=Tl?3aH -/fJ=Pb=b70<30jH3?79bLV`^7oGgmnO1/3?cdoB_d1W9CLgUlk>C/;2`]RbIL^D=?clo6Q/K>BNNnk1dm>Cg]iNJVYZ9?Fe:f5[JVZhM^dJ -dM7ACWgT3<2jMN]@:1@fW`GUC7AdM73`h440RXZ:9UdOUX9J[JJn_YikkkdGQD8QNAi[El;N?1e`MQ8C -4a52T9RHj>Q@7WC/I6QYRnO;U??744gK[NG]kDeMGAeAD52d];KLl^LJ8jDUGBd^;CLijNg/iLN84 -BZFBbg1SED::;n>LB:oGbaKK_7Wcl?Kf]ZYW;:?[k^jFk=]hK^ZUBiO/R]NXLoWbIJ/j -aSZ4WgkjbNXFUQmnn86b/S;Lg=ahk[WWI?em7cQ`P6gK]_7nnnmK?K]00G@3lVblL^7RkjEK0B`7RQ`M -RDClP150NZVCHoPG<8lKPl4ERGgn3JR1Zh0m1mTJMKX0NOJUC0l4/>>oj;SUNA:i2 -H88000Q00PPT00006000008@`=/100000`00000000000000000001]00D0d0000:000008000020000 -0000_`000;l002a3000`@P<000000000[0000000;00Q000020000680000<00000@00024000080000 -7P0001P000000000c`0003<4003R0@005@0000`0000400005@0000`000040000AP0001@000080000 -E4i@D0H1001A0000X0@00000003?00004100000000c`00000000000000[00002`0001@0000 -<0000800000P1000000008H0kP0c10004`4002P0002/0000;00000400@0000000000000000000000 -0000000000000000oooo05EEEEEEEEEEEEEGEGEEEEEEEEEEED000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo1G@?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooo -oooooooooooooooooo000?oooooooooooooooooooooooooooo000?oooooooooooooooooooooooooo -oo0007oooooooooooooooooooooooooooo01P@R8R8R8_ooooooooooooooooooooo00000000007ooo -oooooooooooooooooo1>@`000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooo -oooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo3K200000007ooooooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooo -oooooooooooooooooo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooo -oo0000000000?ooooooooooooooooooooo00000000007ooooooooooooooooooooo00000000007ooo -oooooooooooooooooo00000000007ooooooooooooooooooooo0000000000?ooooooooooooooooooo -oo00000000007ooooooooooooooooooooo00000000003oooooooooooooooooooon000540000/8@00 -00000P2ATI40QXJ6079bLP2PX:00GUiN05IFEP2XZ:P0EeMG0:NWY`0cc/0CDe=055AD@2^[Zh0Ph>300/;2`071`L0m_Kf0=cLg02h^;P0 -[jn_018B4P0@4100e=CD04i>CP0?3`l0][Jf07MgM`0Z:RX0n_[j0:JVYP0A4A4061PH00T92@010@40 -IFEU0??cl`0J6QX0XZ:R05EEE@2l_;`03@d=01LG5`2QXJ40j^[Z09nOW`0>3Ph02PX:06QXJ03Jf]X0 -o_kn03`l?01WIfL0UIFE01DE5@3bl_80T92@0C02h^;P3Bd]80HF5Q09BDU022PX80 -mOGe0>WYj@3UiND0JFUY0=?Cd`0[:b/01@D500H61P2e]KD0m?Cd02PX:025QHD0:BTY08^;R`0L71`0 -5QHF00`<303moOd0RXZ:08R8R01cLg<051@D0g]k@1eMGD0 -f=SH02HV9P24Q8@0^[Zj0>?Sh`1;Bd/0De=C05YJFP2i^KT0b/[:07IfMP0m?Cd0GEeM0:b/[03QhN40 -O7al03Lg=`3alO40_[jn07inOP0N7Qh07AdM06i^KP2YZJT0]kNg04m?C`19BDT0bOWi`1:BTX0E5AD0;2`/03Kfm/0ZZZZ0?Shn03gmoL0 -M7Ad0>k^kP0f=SH0h>3P01/K6`3Xj>P0YJFU01TI6@3Ti>@0UiNG04I6AP1TI6@0>CTi03Ph>01SHf<0 -WYjN0:>SX`10@400Zj^[0=7Ad@32`/80d=3@09bLW01aLG40GemO02o_k`0410@0 -SXj>09JFUP0O7al0IVIV07QhN00];Bd0`lC0`<30`<30`0@410@41 -0@41Kc/0T`410@410@410@410@410@5=_E@30@410@410@0000010@410@410@410@41Ub80D@410@41 -0@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@6h02`10@410@41 -0@L020410@410@410@5a0:X10@410@410@410@410@4;00`10@410@410@d03P410@410@410@4W0;69 -0@410@410@410@410@5F_5ACA`410@410@4000000@410@410@410@410@6i0;X10@410@410@410@41 -0@410@410@410Cd0D`410@410@410F/0K0410@410@410@410@410@4N400]?@410@410@4700P10@41 -0@410@41L@2Z0@410@410@410@410@412`0<0@410@410@4=00h10@410@410@41@b`010410@410@41 -0@410@4D^e<0G9/10@410@41000000410@410@410@410@41H`2L/P410@410@410@410@410@410@41 -0@4m05<10@410@410@5[06`10@410@410@410@410@41Ge<0]KH10@410@411`080@410@410@410G40 -ZP410@410@410@410@410@/030410@410@413@0>0@410@410@410@6g02]Y0@410@410@410@6d/aD0 -0;P10@410@410@0000010@410@410@410@410Cja03@10@410@410@410@410@410@410@41?@1C0@41 -0@410@41J`1/0@410@410@410@410@410DP0002J0@410@410@L020410@410@410@5a0:X10@410@41 -0@410@410@4;00`10@410@410@d03P410@410@410@41/[<0H@410@410@410@6dFAD0002V0@410@41 -0@4000000@410@410@410@410@41RP2`0@410@410@410@410@410@410@410Cd0D`410@410@410F/0 -K0410@410@410@410@410DiD0000E4<10@410@4700P10@410@410@41L@2Z0@410@410@410@410@41 -2`0<0@410@410@4=00h10@410@410@410@5E05@m0@410@410@6IFAD0000U=0410@410@4100000041 -0@410@410@410@410Ah^6c010@410@410@410@410@410@410@4m05<10@410@410@5[06`10@410@41 -0@410@410@6^G@0003XI0@410@411`080@410@410@410G40ZP410@410@410@410@410@/030410@41 -0@413@0>0@410@410@410@410J80TP410@410@41[cX00000=YH10@410@410@0000010@410@410@41 -0@410@410`2X0@410@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@41 -Z@00000^LP410@410@L020410@410@410@5a0:X10@410@410@410@410@4;00`10@410@410@d03P41 -0@410@410@410@6[5@2/0@410@410@6]8P000:D10@410@410@4000000@410@410@410@410@410J40 -XP410@410@410@410@410@410@410Cd0D`410@410@410F/0K0410@410@410@410@41EU<0000002Dn -0@410@4700P10@410J0@413@0>0@410@410@410@410@6M>P2N -0@410@41@il0@@6PI0410@410@410@0000010@410@410@410@410@410G40FP410@410@410@410@41 -0@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@4500H10@410@410@L020410@414YFE -UIFEUIFEUIFEUP410@41SIFEUIFEUIFEUIFEU`410@d03P410@410@410@410@410D`0Fdd10@410IP0 -DXL10@410@410@410@4000000@410@410@410@410@410@6C05810@410@410@410@410@410@410Cd0 -D`410@410@410F/0K0410@410@410@410@410@411@060@410@410@4700P10@410@410@410@410@41 -0@410@410@410@410@410@410@410@4=00h10@410@410@410@410@4MO`050@410I@L06h10@410@41 -0@410@41000000410@410@410@410@410@41:F80S`410@410@410@410@410@410@4m05<10@410@41 -0@5[06`10@410@410@410@410@410@D01P410@410@411`080@410@410@410@410@410@410@410@41 -0@410@410@410@410@413@0>0@410@410@410@410@410CL0=I010@6A09810@410@410@410@410@00 -00010@410@410@410@410@410@6;00H10@410@410@410@410@410@41?@1C0@410@410@41J`1/0@41 -0@410@410@410@410@4500H10@410@410@L020410@410@410@410@410@410@410@410@410@410@41 -0@410@410@d03P410@410@410@410@410@5NS00l0@6=02f>0@410@410@410@410@4000000@410@41 -0@410@410@410@41QP0fQ`410@410@410@410@410@410Cd0D`410@410@410F/0K0410@410@410@41 -0@410@411@060@410@410@4700P10@410@410@410@410@410@410@410@410@410@410@410@410@4= -00h10@410@410@410@410@410HP05E69I@2:0@410@410@410@410@41000000410@410@410@410@41 -0@410@5G08<10@410@410@410@410@410@4m05<10@410@410@5[06`10@410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@410@410@410@410@410@410@410@410@410@413@0>0@410@41 -0@410@410@410@41Q025G`1KEP410@410@410@410@410@0000010@410@410@410@410@410@41K@1b -0@410@410@410@410@410@41?@1C0@410@410@41J`1/0@410@410@410@410@410@4500H10@410@41 -0@L020410@410@410@410@410@410@410@410@410@410@410@410@410@d03P410@410@410@410@41 -0@410AiD01/0PP410@410@410@410@410@400000J6QXJ6QXJ6QXJ6QXJ6QXJ6QXJ7lE8VQXJ6QXJ6QX -J6QXJ6QXJ6QXJ800E0410@410@410F/0K0410@410@410@410@410@411@060@410@410@4700P10@41 -0@410@410@410@410@410@410@410@410@410@410@410@4=00h10@410@410@410@410@410@41P@00 -0ch10@410@410@410@410@4100010000000000000000000000000000000000000000000000000000 -000002`10@410@410@5[06`10@410@410@410@410@410@D01P410@410@411`080@410@410@410@41 -0@410@410@410@410@410@410@410@410@413@0>0@410@410@410@410@410@410Gd007h10@410@41 -0@410@410@410@000@410@010@400@4100410@010@400@4100410@010@400@4100410@0100020@41 -0@410@41J`1/0@410@410@410@410@410@4500H10@410@410@L020410@410@410@410@410@410@41 -0@410@410@410@410@410@410@d03P410@410@410@410@410@410Cik001LO0410@410@410@410@41 -0@4000410@410@410@410@410@410@410@410@410@410@410@410@410@410@400P410@410@410F/0 -K0410@410@410@410@410@411@060@410@410@4700P10@410@410@410@410@410@410@410@410@41 -0@410@410@410@4=00h10@410@410@410@410@410@4702]X07X10@410@410@410@410@4100010@41 -0@410@410@410@410@410@410@410@410@410@410@410@410@4000810@410@410@5[06`10@410@41 -0@410@410@410@D01P410@410@411`080@410@410@410@410@410@410@410@410@410@410@410@41 -0@413@0>0@410@410@410@410@410@53<@17N00]N@410@410@410@410@410@000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@410@020@410@410@41J`1/0@410@410@410@410@41 -0@4500H10@410@410@L020410@410@410@410@410@410@410@410@410@410@410@410@410@d03P41 -0@410@410@410@410@41M@0X:@5f07L10@410@410@410@410@4000410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@000P410@410@410F/0K0410@410@410@410@410@411@060@41 -0@410@4700P10@410@410@410@410@410@410@410@410@410@410@410@410@4=00h10@410@410@41 -0@410@417Q`0L`41ADH^M0410@410@410@410@4100010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@4100810@410@410@5[06`10@410@410@410@410@410@D01P410@410@411`08 -0@410@410@410@410@410@410@410@410@410@410@410@410@413@0>0@410@410@410@410@410G00 -L@410@5b00000000000000000 -<@410@41I000000000000000;0410@4=00h10@410@410@410@410BUU06H10@410@5W06QY1FX10@41 -0@410@4100010@410@410@410@410@410@410@410@410@410@410@410@410@410@4100810@410@41 -DU0@410@410@410@410@5J05]F0@410@41@e`0GC//0@410@410@410@00 -0@410@410@410@410@410@410@410@410@410@410@410@410@410@410@020@410@410D`L000001a= -0@410@410@410@410@4500H10@410@410@L020410@410@410@4900X10@410@410@410@410@4;00`1 -0@410@410@d03P410@410@410@410@5>9@0<0@410@41Ce0e0000@U410@410@410@4000410@410@41 -0@410@410@410@410@410@410@410@410@410@410@410@000P410@410@596`0000030@410@410@41 -0@410@411@060@410@410@4700P10@410@410@412@0:0@410@410@410@410@412`0<0@410@410@4= -00h10@410@410@410@41BP0F?P410@410D/]000001E<0@410@410@4100010@410@410@410@410@41 -0@410@410@410@410@410@410@410@410@4100810@410@410CH0000]A0410@410@410@410@410@D0 -1P410@410@411`080@410@410@410@T02P410@410@410@410@410@/030410@410@413@0>0@410@41 -0@410@41ADI63P410@410@41Ab400000B0410@410@410@000@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@4100020@410@410@4l5@00>cd10@410@410@410@410@4500H10@410@41 -0@L020410@410@410@4900X10@410@410@410@410@4;00`10@410@410@d03P410@410@410@41?Sl0 -@0410@410@410@51:`0004930@410@410@4000410@410@410@410@410@410@410@410@410@410@41 -0@410@410@410@400P410@410@41=3D003H10@410@410@410@410@411@060@410@410@4700P10@41 -0@410@412@0:0@410@410@410@410@412`0<0@410@410@4=00h10@410@410@410CL0:cP10@410@41 -0@410CTj000k80410@410@4100010@410@410@410@410@410@410@410@410@410@410@410@410@41 -0@4000810@410@410BT]02h_0@410@410@410@410@410@D01P410@410@411`080@410@410@410@T0 -2P410@410@410@410@410@/030410@410@413@0>0@410@410@410C0a00@10@410@410@410@410@410@410@415`0H0@410@410@410@410@410@416ADJ0@410@410@000@410@410@410@41 -0@410@410@410@410@410@410@410@410@410@4100020@410@410@410@<40@410@410@410@410@41 -0@4500H10@410@410@L020410@410@410@4900X10@410@410@410@410@4;00`10@410@410@d03P41 -0@410@413`0@4@410@410@410@410@410@410@4B4`410@410@4000410@410@410@410@410@410@41 -0@410@410@410@410@410@410@410@40000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000010@410@410@410@410@410@410@410@410@41 -0@410@410@410@410@410@0000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000001AP0001@000080000E4i@D0L1000R000030000?oooolR0000 -30000?oooom60000]0400:P10015CDH[:T0002@0000H0000/08/>P0000000000/08/>P00000004m3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P0000800H8I4000cA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X00000001?@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X00000001?@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?n9K3D@]/AU4140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 -0@000040000@000000000000000c1000c080000000000000<`@00<`2000T000090000000P3l00000 -00000000P3oRF`e4;K4IA080000<000040000000000000002P0001000000000000000580001`0@00 -0@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y0000000000000000P6E0 -00000000AT000000P9[2@00000000000000000000000000000009ah000010000300005`10060I=/8 -0000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMRL0000W000WL0GK2000000N0000 -Q=]?000000399`4146GK20008JH09`007P0001Io0@7c6P00h=]?0`g;WHlgTl0laX4C@0000000000100000A=003c6TgooooookP@0004C@@0R6CK26Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@0000e0P00 -n04006l200250P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D00003402U@k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000 -ADe6:bY0000T000060000000P3l0000000000000P3oRF`e4;K4IA2Y0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H00000020?`00000000000020?n9K3D@>1a13140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000000c1000c080000000000000 -<`@00<`2000T000090000000P3l0000000000000P3oRF`e43PL@@`80000<00004000000000000000 -2P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00000000@012930640 -K01Y0680LP1Y0000000000000000P6E000000000AT000000P9[2@000000000000000000000000000 -00009ah000010000300005`10060I=/80000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000 -KcDkMRL0000W000WL0GK2000000N0000Q=]?000000399`4146GK20008JH09`007P0001Io0@7m9000 -h=]?08000@08JH10?dTh_oooooo -^10000CR102h400000000`g;WHlgTl0oB@4hP0000000000100000CR003m9>;o -oooookP@0004hP@0R6CK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000 -600000`000000002E00005@0000e0P008@0006l2002^00000P000000000000000000000000010000 -C00000000000000000000?ooooooooooD00003808HHk00009@0000`0000>0020:00000`000010000 -8P0000`0003oooooAP000?00003T0000ADe6:bY0000T000060000000P3l0000000000000P3oRF`e4 -3PL@@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?e7c`g;WHlgTl0 -2QX4:00000000000100000@X000:6RSooooookP@0004:0@0R6CK26Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0003<0P00n04000H300250P00 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD00003<0P3lk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000?00003T0000ADe6:bY0000T0000 -60000000P3l0000000000000P3mAlc94;K4IA2Y0000T000060000000P3l0000000000000P3l00000 -000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@000010000000000U@000 -400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H0000 -0020?`00000000000020?e7c1a13140000`0000000008@0000P0000L0000200004/000100000 -<00000D0000P00000@000040000@000000000000000c1000c080000000000000<`@00<`2000T0000 -90000000P3l0000000000000P3mAlc943PL@@`80000<000040000000000000002P00010000000000 -00000580001`0@000@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y0000 -000000000000P6E000000000AT000000P9[2@00000000000000000000000000000009ah000010000 -300005`10060I=/80000081Tf`RZ6d]c0@0009aE27L00000k0;K204000000000KcDkMRL0000W000W -L0GK2000000N0000Q=]?000000399`4146GK20008JH09`007P0001Io0@7c6P00h=]?0`g;WHlgTl0laX4D@0000000000100000AA003c6U7ooooookP@0004D@@0 -R6CK26Af00P000009@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002 -E00005@0003<0P008@0000H3002^00000P000000000000000000000000010000C000000000000000 -00000?ooooooooooD00003@0P3lk00009@0000`0000>0020:00000`0000100008P0000`0003ooooo -AP000;00002T0000ADe6:bY0000T000060000000P3l0000000000000P3mAlc943PL@@bY0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@0000100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q0000 -20000680000<00000@0004`0001T000000000"], "Graphics", - ImageSize->{216.66666666666666`, 144.86434108527135`}, - ImageMargins->{{88.33333333333334, 0.}, {0., - 18.333333333333314`}},ExpressionUUID->"124b2489-29ad-438a-b163-\ -19ba1478b9da"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Cd", ",", "0.65", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A1max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A3max", ",", - RowBox[{"1.", "*", - RowBox[{"10", "^", - RowBox[{"-", "5"}]}]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, 3.8048378158670616`*^9, { - 3.804920331165388*^9, 3.8049203326408653`*^9}, {3.8050132508483152`*^9, - 3.8050132546749153`*^9}}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm34Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng34e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}}, - ExpressionUUID -> "28115fd4-af18-4b58-84d9-424e488484fa"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False,ExpressionUUID->"c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, - 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, - 3.8050144886985893`*^9},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A14", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A34", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.8044089718543243`*^9, { - 3.804594781346759*^9, 3.804594790496318*^9}, 3.804746010107048*^9, { - 3.8047734309389215`*^9, 3.804773431634205*^9}, {3.8047735782359843`*^9, - 3.804773578712495*^9}, {3.8050133037153454`*^9, 3.805013305517521*^9}, { - 3.8050145766619024`*^9, 3.8050145781360254`*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8044089743765297`*^9, { - 3.80459478532765*^9, 3.804594792557191*^9}, 3.80474606857274*^9, { - 3.8047734322315884`*^9, 3.804773432749055*^9}, {3.804773579240947*^9, - 3.8047735797104626`*^9}, {3.805013306559174*^9, 3.805013307880474*^9}, { - 3.8050145787849708`*^9, 3.8050145804595795`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng12pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng12neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.804594795614038*^9, 3.8045947996778464`*^9}, - 3.8047460279925995`*^9, 3.8047460694378476`*^9, {3.804773433649126*^9, - 3.8047734364842014`*^9}, {3.804773580248907*^9, 3.804773582622459*^9}, { - 3.805013309090266*^9, 3.8050133410404825`*^9}, {3.805014581747894*^9, - 3.805014588938695*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p2", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, - 3.8045875535512643`*^9, 3.8045877472244887`*^9, {3.8045958567664537`*^9, - 3.804595863157861*^9}, 3.80474603190956*^9, {3.804773505907591*^9, - 3.804773506350135*^9}, {3.8047735831199465`*^9, 3.804773583606445*^9}, { - 3.805014260545041*^9, 3.805014261996625*^9}, {3.8050145907757454`*^9, - 3.8050145925284595`*^9}}, - ExpressionUUID -> "74f920f2-7f23-4f51-b933-81dd5219e38a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p2"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, - 3.804587555119646*^9, 3.804587750394221*^9, {3.8045958590271235`*^9, - 3.804595860901189*^9}, {3.804599005689327*^9, 3.804599017566074*^9}, - 3.8047460701820803`*^9, {3.804773506901566*^9, 3.8047735073221316`*^9}, { - 3.804773584137896*^9, 3.8047735849091005`*^9}, {3.805014262852506*^9, - 3.805014264873622*^9}, {3.8050145933313894`*^9, 3.8050145950055046`*^9}}, - ExpressionUUID -> "c02640f8-58b2-42aa-8c90-a4d2adcaad1d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng32pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng32neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, 3.8043297589347453`*^9, - 3.8043311074246674`*^9, {3.804587557888789*^9, 3.804587559095545*^9}, { - 3.8045877537097993`*^9, 3.804587758719634*^9}, 3.804746032903533*^9, - 3.8047460710391965`*^9, {3.8047735079934397`*^9, 3.804773510539812*^9}, { - 3.804773585649337*^9, 3.8047735887741137`*^9}, {3.8050142662778196`*^9, - 3.8050142736306543`*^9}, {3.8050145964943037`*^9, 3.8050146072947173`*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p1"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p1"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273494082735*^9, { - 3.8044099151808147`*^9, 3.804409925963391*^9}, 3.804587565114339*^9, - 3.804587726911441*^9, 3.8047460336227922`*^9, {3.804773437315344*^9, - 3.8047734378957453`*^9}, {3.804773626405298*^9, 3.804773626956728*^9}, { - 3.8050133506154284`*^9, 3.805013352279003*^9}, {3.8050147289513454`*^9, - 3.8050147304242887`*^9}}, - ExpressionUUID -> "161e22dd-9b38-4a95-ae56-199ec9fed0f7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p4"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p1", "p4"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.8042734965921464`*^9, { - 3.8044099321503296`*^9, 3.804409936923113*^9}, 3.8045875671112766`*^9, - 3.8045877325286493`*^9, 3.8047460718034086`*^9, {3.8047734384671555`*^9, - 3.8047734389876194`*^9}, {3.8047736275031643`*^9, - 3.8047736283552856`*^9}, {3.8050133543570337`*^9, 3.805013356425194*^9}, { - 3.8050147313528247`*^9, 3.8050147326617966`*^9}}, - ExpressionUUID -> "c33b970e-db2b-4bed-954f-6e8826fa4108"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng14pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng14neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832263932583*^9}, {3.8043297847255116`*^9, 3.804329810982648*^9}, { - 3.8045875692021213`*^9, 3.804587572510707*^9}, {3.80458773637668*^9, - 3.8045877400798616`*^9}, 3.8047460343100863`*^9, 3.8047460727893906`*^9, { - 3.804773439896682*^9, 3.804773443015465*^9}, {3.804773629239375*^9, - 3.8047736323561583`*^9}, {3.8050133570816803`*^9, - 3.8050133896587753`*^9}, {3.8050147340502462`*^9, 3.80501473905085*^9}}, - ExpressionUUID -> "d856a9b3-0177-4f18-9bf8-6350839d7252"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34pos", "=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p3"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p4", "p3"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.803814749026411*^9, 3.803814751288238*^9}, { - 3.803814811296115*^9, 3.8038148121923056`*^9}, {3.803815012704177*^9, - 3.8038150138884993`*^9}, 3.803832254186638*^9, 3.804273501167427*^9, { - 3.8044099459641075`*^9, 3.8044099587618484`*^9}, 3.8045875816093225`*^9, - 3.8045877054655666`*^9, 3.8047460350383315`*^9, {3.804773511195137*^9, - 3.804773511710605*^9}, {3.804773632852647*^9, 3.804773633328156*^9}, { - 3.805014274802712*^9, 3.8050142762223363`*^9}, {3.8050147401847153`*^9, - 3.805014741472805*^9}}, - ExpressionUUID -> "4c6d1c3a-a3c0-4ce6-ad4a-36c63ecc7310"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34neg", "=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - FractionBox[ - RowBox[{ - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p4"], ")"}], - RowBox[{"2", "/", "kappa"}]], "-", - SuperscriptBox[ - RowBox[{"(", - FractionBox["p3", "p4"], ")"}], - RowBox[{ - RowBox[{"(", - RowBox[{"kappa", "+", "1"}], ")"}], "/", "kappa"}]]}], "Ndenom"], - ",", "eps"}], "]"}], ")"}]}], ";"}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.803814752027814*^9, 3.8038147526085453`*^9}, { - 3.8038148137334404`*^9, 3.80381481382143*^9}, {3.80381501438422*^9, - 3.8038150148169465`*^9}, 3.8038322553973866`*^9, 3.804273504175324*^9, { - 3.8044099637709303`*^9, 3.804409984817839*^9}, 3.804587583990865*^9, - 3.8045877074615045`*^9, 3.8047460740231185`*^9, {3.8047735122100906`*^9, - 3.8047735127225614`*^9}, {3.804773634024438*^9, 3.8047736345528927`*^9}, { - 3.805014276855688*^9, 3.8050142780440235`*^9}, {3.8050147421747036`*^9, - 3.8050147433160214`*^9}}, - ExpressionUUID -> "b93212b8-a683-4194-ae5e-77a536c9b51d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng34", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng34pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p3"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng34neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p4"], "-", "crit"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8043297620529838`*^9, - 3.80432978164869*^9}, {3.8045875876091347`*^9, 3.8045875931684*^9}, { - 3.8045877096172843`*^9, 3.8045877149767537`*^9}, 3.804746035796549*^9, - 3.8047460751030045`*^9, {3.8047735132939715`*^9, 3.8047735161260505`*^9}, { - 3.804773635280143*^9, 3.8047736383669586`*^9}, {3.8050142795638685`*^9, - 3.805014284415703*^9}, {3.805014744450555*^9, 3.8050147496358747`*^9}}, - ExpressionUUID -> "dd85bb0c-db7f-4dbb-b971-11acac55b4b3"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, - 3.572018175085304*^9}},ExpressionUUID->"a2916a4d-8fbb-4d1c-8b7e-\ -bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"kappa", "==", - RowBox[{"1", "+", - FractionBox["R", "cv"]}]}], ",", "\[IndentingNewLine]", - RowBox[{"Kg", "==", - SqrtBox[ - FractionBox[ - RowBox[{ - SuperscriptBox["2", - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]], "kappa", - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}], "R"]]}], ",", - "\[IndentingNewLine]", - RowBox[{"Ndenom", "\[Equal]", - RowBox[{ - SuperscriptBox["2", - RowBox[{ - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]], "-", "1"}]], - RowBox[{"(", - RowBox[{"kappa", "-", "1"}], ")"}], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox[ - RowBox[{"kappa", "+", "1"}], - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"crit", "==", - RowBox[{ - SuperscriptBox["2", - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]], - SuperscriptBox[ - RowBox[{"(", - FractionBox["1", - RowBox[{"kappa", "+", "1"}]], ")"}], - FractionBox["kappa", - RowBox[{"kappa", "-", "1"}]]]}]}], ",", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}},ExpressionUUID->"e35a9ee5-9df4-422f-9b3c-\ -902054fcd47a"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE34", "=", - RowBox[{"qm34", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm34", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm34", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm34", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p4"}], "]"}], " ", "qm34Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9}, - ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ -09172eb1a580"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A12", " ", "Kg", " ", "Ng12"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "==", - FractionBox[ - RowBox[{"p2", " ", "Cd", " ", "A32", " ", "Kg", " ", "Ng32"}], - SqrtBox["T2"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - FractionBox[ - RowBox[{"p1", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], - SqrtBox["T1"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - FractionBox[ - RowBox[{"p4", " ", "Cd", " ", "A14", " ", "Kg", " ", "Ng14"}], - SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Pos", "==", - FractionBox[ - RowBox[{"p3", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], - SqrtBox["T3"]]}], ",", "\[IndentingNewLine]", - RowBox[{"qm34Neg", "==", - FractionBox[ - RowBox[{"p4", " ", "Cd", " ", "A34", " ", "Kg", " ", "Ng34"}], - SqrtBox["T4"]]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE32"}], "-", "dE34"}]}]}], "\[IndentingNewLine]", "\t", - "}"}], "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179367226534`*^9, - 3.805017936907509*^9}},ExpressionUUID->"c9b83533-6c3b-4ba2-8e82-\ -200441668409"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ -2783204ff18e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, - 3.6267881959573336`*^9}},ExpressionUUID->"7aee13e0-4e61-4e17-a44c-\ -47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm34Pos", ",", "qm34Neg", ",", "dE2", ",", "dE4", - ",", "dE1", ",", "dE3", ",", "p2", ",", "p4", ",", "p1", ",", "p3"}], - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}}, - ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, - 3.8047464099747696`*^9}},ExpressionUUID->"42d118ef-f168-49d8-a2d9-\ -b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm32"}], " ", "-", " ", "qm34"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", " ", "+", " ", "qm34"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng34e", "==", "Ng34"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}]}], "\n", " ", "}"}]}], ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}}, - ExpressionUUID -> "ee1a3df7-de1d-4a26-8e00-fee0944ef886"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,128,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542419907206*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,129,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199381742`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\petkr14\\\ -\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\).\"",2,751,130,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199641476`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ -\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,751,131,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424199881225`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "General","openx", - "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\\ -petkr14\\\\\\\\\\\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\\ -PneumaticDevelop\\\\\\\\\\\\\\\\PneumaticComponents\\\\\\\\\\\\\\\\\ -PneumaticValve42.hpp\\\\\\\"\\\"}]\\) is not open.\"",2,751,132, - 16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420664425*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"PneumaticValve42\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"n\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\ -\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"PneumaticValve42.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.2`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"P1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\ -\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"15\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.923077\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ng14e\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,751, - 133,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420719368*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,751,134,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424207493377`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.2`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.2`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,751,135,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424208022833`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,751,136,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424208282566`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.4`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.4`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,751,137,16368523130847972493, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420886196*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,751,138,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420911171*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,751,139,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420936145*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6000000000000001`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6000000000000001`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,751,140, - 16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.805542420962118*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,751,141,16368523130847972493,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{3.8050243320573297`*^9, 3.8055424210130653`*^9}, - ExpressionUUID -> "9fcf4151-f924-42ef-ab96-106d09fa313e"] -}, Open ]] -}, Open ]] -}, Open ]] -}, -WindowSize->{809, 641}, -WindowMargins->{{Automatic, 235}, {50, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "4dd653ec-6443-473f-a991-649bf4ab8af3" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 428, 6, 70, "Section"], -Cell[1011, 30, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1369, 38, 203, 3, 30, "Text"], -Cell[1575, 43, 786, 15, 50, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2364, 60, 529, 12, 50, "Input"], -Cell[CellGroupData[{ -Cell[2918, 76, 1811, 37, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4732, 115, 2169, 32, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6904, 149, 350, 7, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[7291, 161, 98, 0, 41, "Subsection"], -Cell[7392, 163, 990, 15, 106, "Text"], -Cell[8385, 180, 24286, 302, 172, "Graphics"], -Cell[32674, 484, 2085, 46, 183, "Input"], -Cell[34762, 532, 646, 13, 69, "Input"], -Cell[35411, 547, 3026, 65, 278, "Input"], -Cell[38440, 614, 1647, 29, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[40124, 648, 145, 2, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[40272, 652, 230, 4, 30, "Text"], -Cell[40505, 658, 323, 7, 30, "Input"], -Cell[40831, 667, 376, 7, 30, "Text"], -Cell[41210, 676, 1911, 52, 170, "Input"], -Cell[43124, 730, 249, 4, 30, "Text"], -Cell[43376, 736, 191, 4, 30, "Input"], -Cell[43570, 742, 1246, 28, 76, "Input"], -Cell[44819, 772, 1240, 28, 76, "Input"], -Cell[46062, 802, 1954, 47, 94, "Input"], -Cell[48019, 851, 1293, 29, 76, "Input"], -Cell[49315, 882, 1338, 29, 76, "Input"], -Cell[50656, 913, 2082, 48, 94, "Input"], -Cell[52741, 963, 1294, 29, 76, "Input"], -Cell[54038, 994, 1304, 29, 76, "Input"], -Cell[55345, 1025, 2056, 48, 94, "Input"], -Cell[57404, 1075, 1296, 29, 76, "Input"], -Cell[58703, 1106, 1298, 29, 76, "Input"], -Cell[60004, 1137, 2081, 48, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[62122, 1190, 159, 3, 49, "Subsection"], -Cell[62284, 1195, 2209, 61, 307, "Input"], -Cell[64496, 1258, 291, 4, 30, "Text"], -Cell[64790, 1264, 3691, 99, 202, "Input"], -Cell[68484, 1365, 197, 3, 30, "Text"], -Cell[68684, 1370, 5054, 90, 537, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[73775, 1465, 160, 3, 53, "Subsection"], -Cell[73938, 1470, 194, 3, 30, "Text"], -Cell[74135, 1475, 1772, 34, 126, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[75944, 1514, 174, 3, 49, "Subsection"], -Cell[76121, 1519, 1527, 24, 50, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[77685, 1548, 88, 0, 53, "Subsection"], -Cell[77776, 1550, 304, 6, 49, "Text"], -Cell[78083, 1558, 1698, 32, 202, "Input"], -Cell[CellGroupData[{ -Cell[79806, 1594, 122, 2, 30, "Input"], -Cell[79931, 1598, 540, 11, 39, "Message"], -Cell[80474, 1611, 542, 11, 39, "Message"], -Cell[81019, 1624, 542, 11, 39, "Message"], -Cell[81564, 1637, 427, 8, 21, "Message"], -Cell[81994, 1647, 539, 10, 39, "Message"], -Cell[82536, 1659, 5390, 79, 148, "Message"], -Cell[87929, 1740, 357, 7, 21, "Message"], -Cell[88289, 1749, 499, 10, 21, "Message"], -Cell[88791, 1761, 357, 7, 21, "Message"], -Cell[89151, 1770, 497, 10, 21, "Message"], -Cell[89651, 1782, 355, 7, 21, "Message"], -Cell[90009, 1791, 427, 8, 21, "Message"], -Cell[90439, 1801, 527, 10, 39, "Message"], -Cell[90969, 1813, 432, 8, 21, "Message"] -}, Open ]] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve52.hpp b/devPneumatic/PneumaticValve52.hpp deleted file mode 100644 index 04c148d..0000000 --- a/devPneumatic/PneumaticValve52.hpp +++ /dev/null @@ -1,1214 +0,0 @@ -#ifndef PNEUMATICVALVE52_HPP_INCLUDED -#define PNEUMATICVALVE52_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve52.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:42:05 -//! @brief Pneumatic 52-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve52.nb*/ - -using namespace hopsan; - -class PneumaticValve52 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpP4; - Port *mpP5; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - double delayParts13[9]; - double delayParts14[9]; - double delayParts15[9]; - double delayParts16[9]; - double delayParts17[9]; - double delayParts18[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[18]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port P4 variable - double p4; - double qm4; - double T4; - double dE4; - double c4; - double Zc4; - //Port P5 variable - double p5; - double qm5; - double T5; - double dE5; - double c5; - double Zc5; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double qm14Pos; - double qm14Neg; - double qm54Pos; - double qm54Neg; - double Ng32e; - double Ng12e; - double Ng54e; - double Ng14e; - double Bfe; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port P4 pointer - double *mpP_p4; - double *mpP_qm4; - double *mpP_T4; - double *mpP_dE4; - double *mpP_c4; - double *mpP_Zc4; - //Port P5 pointer - double *mpP_p5; - double *mpP_qm5; - double *mpP_T5; - double *mpP_dE5; - double *mpP_c5; - double *mpP_Zc5; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpqm14Pos; - double *mpqm14Neg; - double *mpqm54Pos; - double *mpqm54Neg; - double *mpNg32e; - double *mpNg12e; - double *mpNg54e; - double *mpNg14e; - double *mpBfe; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - Delay mDelayedPart90; - Delay mDelayedPart100; - Delay mDelayedPart110; - Delay mDelayedPart120; - Delay mDelayedPart130; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve52(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(18,18); - systemEquations.create(18); - delayedPart.create(19,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpP4=addPowerPort("P4","NodePneumatic"); - mpP5=addPowerPort("P5","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - qm14Pos=stateVark[4]; - qm14Neg=stateVark[5]; - qm54Pos=stateVark[6]; - qm54Neg=stateVark[7]; - dE1=stateVark[8]; - dE2=stateVark[9]; - dE3=stateVark[10]; - dE4=stateVark[11]; - dE5=stateVark[12]; - p1=stateVark[13]; - p2=stateVark[14]; - p3=stateVark[15]; - p4=stateVark[16]; - p5=stateVark[17]; - //Expressions - qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ -qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ -qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); - qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ -onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ -+ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); - Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ -+ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ -p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); - Bfe = Bf; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - delayedPart[13][1] = delayParts13[1]; - delayedPart[14][1] = delayParts14[1]; - delayedPart[15][1] = delayParts15[1]; - delayedPart[16][1] = delayParts16[1]; - delayedPart[17][1] = delayParts17[1]; - delayedPart[18][1] = delayParts18[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port P4 - (*mpP_p4)=p4; - (*mpP_qm4)=qm4; - (*mpP_dE4)=dE4; - //Port P5 - (*mpP_p5)=p5; - (*mpP_qm5)=qm5; - (*mpP_dE5)=dE5; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpqm14Pos)=qm14Pos; - (*mpqm14Neg)=qm14Neg; - (*mpqm54Pos)=qm54Pos; - (*mpqm54Neg)=qm54Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - (*mpNg54e)=Ng54e; - (*mpNg14e)=Ng14e; - (*mpBfe)=Bfe; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE52_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve52.nb b/devPneumatic/PneumaticValve52.nb deleted file mode 100644 index ded7e96..0000000 --- a/devPneumatic/PneumaticValve52.nb +++ /dev/null @@ -1,1682 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 79140, 1674] -NotebookOptionsPosition[ 75638, 1571] -NotebookOutlinePosition[ 76292, 1593] -CellTagsIndexPosition[ 76249, 1590] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve52", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, - 3.8055437085440426`*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9, 3.805455735116706*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9, 3.8054557323076034`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { - 3.8055437051305633`*^9, 3.8055437068328075`*^9}, 3.8056272757059183`*^9, { - 3.80562739835402*^9, 3.8056274161356792`*^9}, {3.8056274463754864`*^9, - 3.8056276213759727`*^9}}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "42", ",", - "1.9851632`8.050371202290238"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { - 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, - 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, - 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, - 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, - 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, - 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, - 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, - 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, - 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, - 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { - 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, - 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, - 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, - 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, - 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, - 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, - 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, - 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, - 3.8055296122630434`*^9, 3.805529852446294*^9, 3.805534450436387*^9, - 3.805534548776949*^9, 3.80553460312389*^9, {3.8055348478194857`*^9, - 3.8055348649518127`*^9}, 3.8055349506204453`*^9, 3.80553501482322*^9, { - 3.8055352179656773`*^9, 3.8055352250743446`*^9}, 3.805535265889268*^9, - 3.805541347913973*^9, 3.8055415031168814`*^9, 3.8055417845006313`*^9, - 3.8055419973660593`*^9, 3.8055420848678017`*^9, 3.8055424927181015`*^9, - 3.805542541787487*^9, 3.8055425973701525`*^9, 3.8055427444724154`*^9, - 3.805613614885068*^9, 3.8056157360206394`*^9, 3.805615902161265*^9, - 3.8056159593682556`*^9, 3.805616151614952*^9, 3.805616376980487*^9, - 3.80562287690287*^9, 3.805623722045102*^9, 3.8056272757059183`*^9}, - ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, - 3.805627275706918*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. The \ -opening is proportional to the input signal and limited between 0 and 1. At 1 \ -input signal it opens between pressure port (1) and load port (4) and between \ -the load port (2) and return (3). When the input signal it is one. At zero \ -input signal it opens the load port (2) to the pressure port (1) and between \ -the load port (4) and return port (5). The opening is proportional to the \ -input signal. There is no valve dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9, {3.8050237813496456`*^9, 3.805023820894039*^9}, { - 3.8056268915461845`*^9, 3.805627072164873*^9}, {3.805627214728817*^9, - 3.8056272299061623`*^9}}, - ExpressionUUID -> "8691b14c-c93d-4322-aee2-62f88b1104a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002ND0@0006`0000000008@0002H3001H0P00 -oOoooogooolH3P006P/00215CDH00040U2L008@0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L00004000000000000000041EA000:4@Z@000 -900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000001E0`00X080000000000000E@<00:02000T000090000;02;3X0000000000;02;3X00000 -000c@`80000R000030000?oooom60000G0h0050>0015CDH[:d0000`0000000007T0600`000000000 -8D0500`0000000007T0900`000000000:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 -8D0700`00000000024000c`0000`00000Q30f`@00000000000000000001P8II90000060QUTV0;?3 -KZGm``Q000>X0000W000008@`=/@0000000002Xk6T>8P0I3ECdJ@hR01T>S`I3 -5clJ@lER4D2o0=3bg4A@eOj0d?;LA53UOP3@a5[4D>En0=3 -aF8A@iGh0d>>S`I3UOP3@d:71T=GnP=3R806@h;l0d>8P0I300<30`430`<10`<30@<3PaA0080@0000 -10000?ooool8@042>00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 -0000oaE0000@0000100000400008@082>00002`000024<3K000009P000000000OGL7?`<000000810 -0000008@`=/000000000o`Q00`X0000W000008@`=/@000000000:Kd0d>Pm@]3dOH3@j3e2d>Cn0=3 -F_`;@i?h0d>V10a3ToP3@lIR4D>Cn0=34V/A@m7f0d?DC?52X?D;@n]@lD:Pm@]300<30`430`<10`<3 -0@<3PaA0180@000010000?ooool8@0D2>00002`000024<3K000009P000000000G7L7?`<000000810 -0000008@`=/000000000oaE0100@0000100000D00008@0H2>00002`000024<3K000009P000000000 -OGL7?`<0000008100000008@`=/000000000o`Q01`40a3 ->@Ki@/=L4D<00@<35D070100000400001P0000Q0208h0000;000008@`=/00000V00000000000000o -0`000000P40000000Q30f`000000003o24090b`0000P00000Q30f`8000000000UX@G@bSW1d>aNAA3 -Bd/A@`010H4E@0T0400000@000080000240:0c@0000X00000Q30f`<000000000Ga4H@a^L1T>j_QM3 -lXX9@nlk5T=E80U30061PAA02X0@0000100000000?l8@0/2>00002`000024<3K000009P000000000 -981K?P<0000008100000008@`=/000000000oaE02P0@0000100000/0000Z@000900001P0001BC7Q0 -000000000025gVo0I7YB`bF^_T<8@0`2>00002`000024<3K000009P000000000L2<9?`<000000810 -0000008@`=/000000000o`Q03@=a@00000000000 -b>=a@7Qlhl=^YOg3240@0SP0000/00000Q30f`00002H0000000007eg1cl300000020@00000024<3K -000000000?l8@143;000020000024<3K0P000000001f:AI3F`d>@dMD6D00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 -0000o`Q04`R@VUCbT:o/Ie2l<34@Q3hX481JLA2 -0061PAA05X0@0000100000000?l8@1L2>00002`000024<3K000009P000000000K7N7?P<000000810 -0000008@`=/000000000oaE05P0@0000100001L0000Z@000900001P0000gSEC0=:/0?oE>ekkV2Wk0 -8J2g@aaL]D00002`000024<3K000009P000000000L2<9?`<000000810 -0000008@`=/000000000o`Q06@=a@00000000000 -b>=a@7Qlhl=^YOg3:T0002@0000H0000b>=a@00000000000b>=a@1i6Ql00002`000024<3K -000009P000000000OGL7?`<0000008100000008@`=/000000000o`Q07`/@QRJ4T<00@615D0O0100000400007P0002Y0000T000060000?3KZGm`bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@0000100000000008@204600000`000024<3K000000<0010d@20030000000000Q0000 -20000680000<00000@0004`0001T0000oOoooogooon30000;P000?goooomooooQ`000380000Y0:X0 -000000000000080o000000000000080o0000000000000000000000000000000000000000000R0000 -30000?oooom60000700001000015CDH[0T0000`0000000003P0001@000000000400001@00008@088 -900001P000024<3K0@0000<00000000000000000000K@040@00003@0000200000P0004]^=Kn0K3Fo -JO`1@h?i;d830000Bfhe_h1/=KojAP53P6`e_d]^=KoA8be28@0000P0001R000030000040000Q0000 -200001h0000H000000000;<0000W0`00`04001`0000800008@0000P0000Q0000200007<0000<0000 -000001`0000800009@0000`0000000209@0000`0000700209@0000`0000>00206@0000`0003oool0 -600000`0000000004P0000`0000200004`0000`000010000500000`0000=00005@0000`000010000 -5P0000`0000000003@00010000000000000003X0000<00002P0001/0000@000000000000000S0000 -80000:gead00000000000:5had3K]Xe0iVXg@b@0000T0000[OG7@00000000000XGS7@=^fSD3VJSM3 -100007<0000<0000000000d0000@000000000;<0001B0000L0400040000@00001`00000000000000 -_080000000070P8RD`1i07<0M01U06d0000000000000000000000000000000000000000000000000 -000000000000000000000000003i0`00Z=U?0BemS>0Ne1P00?X9 -000007T407go_mm30000000000000000000000000000000000000000nPU110000000000000000000 -N@@000000000000000000>0Ne1P000000000000000000000>;Oj2@40000000000000000000000000 -2<[j2@00003@;=DH0000000000000041j43D600000000000^PP000000@400000000004CQC`10X;1g -TJj;nokoool4fTl0ZffaM`00003BKK5gj1kD6000nPUTMP08000002D0000<00000@0004H0000X0000 -700004M4BD<20000oooooooooon00000:P00000000160000500000P00017A4U30`000280000<0000 -ooooob80000<0000ooooobD0000<00003@00P2P0000<00000@000280000<0000ooooob80000<0000 -ooooodH0003l0@00l04004E=AR//@000900001P00000080o000000000000080o0000P000080Z@000 -900001P0003VZ/I000000000000OZ/=0KP0000000000/08/>P00000003=38D0700`000000000:T0002@0000H0000 -/08/>P0000000000/08/>P00000003=3:T0002@0000H00000020?`00000000000020?`0000000000 -:T0002@0000H00000020?`00000000000020?`00000000009T00010000040000000002E0000@0000 -10000000000O@0<030000000000N@0T030000000000Q@0L030000000000Z@000900001P00000080o -000000000000080oO0P_A4UT44<4@00030000000000Q0000200001`000080000B`000400000`0000 -1@000200000100000@00010000000000000005D3002P0P0000000000001E0`00X08002@0000T0000 -0020?`00000000000020?g`8;dA9I1130P0000`0000@000000000000000:00004000000000000000 -DP00070100010000Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000 -000000000030ib]10000000000000000000000000000000000000<3W:d400040000004d000000000 -:>5?014000040000V>M?05SRC`10X;1gDJf;nokoooo0hDl0ck2/Me`2001X0P00f0?j2@00082LECAg -GcDdMF508OYLhDl00H0006le=7D000000000000000000000Z1GgSXcQC`3X2cAeHD0QnP008@1Q@27j -HD0001cRC`2fOS9eG6000>SQC`3PDoX9c>=?00T00002000000000=9]/GMLH1P0G604600010000?oo -G60Hoooooool2P0011P406@000000000:87j2E0:[`19`AA4UT44<4@00030000000000Q0000200001`000080000B`000400000`00001@00020000010000 -0@00010000000000000005D3002P0P0000000000001E0`00X08002@0000T00000020?`0000000000 -0020?cRL4DA9I1130P0000`0000@000000000000000:00004000000000000000DP00070100010000 -Roooo`0000000000000009010000000010048T<0H@1/06T0HP1b06T000000000000000000030ib]1 -0000000000000000000000000000000000000<3W:d400040000004d000000000E0000140001Q@27j -000005SRC`10X;1gDJf;nokoooo0hDl0ck2/Me`2001X0P00f0?j2@00002LECAgGcDdMF508OYLhDl0 -0H0006le=7D000000000000000000000Z1GgSXcQC`3X2cAeHD0QnP008@1Q@27jHD0001cRC`2fOS9e -h7X00>SQC`3PDoX9c>=?00T00002000000000=9]/GOPNX<0h7X4P`0010000?ooh7Z3oooooool2P00 -18<406@000000000:87j2@P:[`1SQC`3PDoX9 -c>=?00T00002000000000=9]/GNENZP0UGX4Z00010000?ooUGZXoooooool2P001:P406@000000000 -:87j2L09[`1SQC`3PDoX9c>=?00T000020000 -00000=9]/GMLH1`0G604700010000?ooG60Loooooool2P0011`406@000000000:87j2E0:[`1SQC`3PDoX9c>=?00T00002000000000=9]/GOPNXL0 -h7X4Q`0010000?ooh7Z7oooooool2P0018L406@000000000:87j2@P:[`1000050000000000@00005000 -\>"], "Graphics", - ImageSize->{170., 134.01459854014598`}, - ImageMargins->{{66, 0}, {0, 0}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm54Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm54Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng54e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, - 3.8055253268748503`*^9}, {3.8055435243970222`*^9, 3.8055435260702963`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"5", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}, {3.805542851655855*^9, - 3.805542865871192*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False, - ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, - 3.804857115838684*^9}},ExpressionUUID->"6e2cb804-6aa4-45d1-a7a6-\ -46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{"1", "-", - RowBox[{"2", " ", "xin"}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.805613479048188*^9, 3.8056134837763076`*^9}, { - 3.8056135202157197`*^9, 3.805613523917901*^9}}], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf14", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf54", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { - 3.805455158947027*^9, 3.805455179490837*^9}, 3.8055435268235207`*^9}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf54", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, - 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { - 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, - 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { - 3.8055275203538437`*^9, 3.8055275229851294`*^9}, 3.805543527498823*^9}], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { - 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, - 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, - 3.805529803320966*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { - 3.805529804336918*^9, 3.805529805264961*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, - 3.80552980857155*^9}, 3.8055349955610886`*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, - 3.8055269059685616`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { - 3.8055269247042356`*^9, 3.805526925551361*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U - - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng54Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, - 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}, { - 3.8055435282460527`*^9, 3.80554352928498*^9}, 3.8056156941558247`*^9}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng54Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, - 3.805526943719621*^9}, {3.8055435295157423`*^9, 3.8055435305626636`*^9}, - 3.805615696044875*^9, {3.80561592361913*^9, 3.8056159274991283`*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng54", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p5", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng54Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p5", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng54Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, - 3.805529825723857*^9}, {3.8055435312979045`*^9, 3.8055435340910234`*^9}, { - 3.805615699253565*^9, 3.8056157030126886`*^9}, {3.8056158864215*^9, - 3.805615891278494*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False, - ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, 3.804857115838684*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{ - RowBox[{"2", " ", "xin"}], "-", "1"}]}], ";"}]], "Input", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9}, - ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A14", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A54", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, - 3.805543535062022*^9}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, 3.804746198521885*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, - ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}, {3.805541341182918*^9, 3.805541344157849*^9}, { - 3.805542590819909*^9, 3.805542591335378*^9}, {3.805542630843624*^9, - 3.8055426677365685`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}}, - ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE54", "=", - RowBox[{"qm54", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm54", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm54", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm54", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9, { - 3.8055435357073555`*^9, 3.8055435385664062`*^9}, {3.8056161243081217`*^9, - 3.805616125929469*^9}}, - ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ -09172eb1a580"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - RowBox[{"Cf14", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - RowBox[{"Cf14", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm54Pos", "==", - RowBox[{"Cf54", " ", "p5", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T5"]], "Ng54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm54Neg", "\[Equal]", - RowBox[{"Cf54", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE5", "\[Equal]", - RowBox[{"-", "dE54"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, - 3.805455634417577*^9}, 3.8054560708467517`*^9, {3.8055435392706795`*^9, - 3.8055435675095215`*^9}, {3.805543600949027*^9, 3.8055436403963375`*^9}, - 3.8056161412056923`*^9, 3.8056163240720615`*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179915385733`*^9, 3.8050179925094385`*^9}}, - ExpressionUUID -> "c9b83533-6c3b-4ba2-8e82-200441668409"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ -2783204ff18e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p5", " ", "==", - RowBox[{"(", - RowBox[{"c5", " ", "+", " ", - RowBox[{"Zc5", " ", "dE5"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}, { - 3.8055429199643965`*^9, 3.805542931543451*^9}, {3.8055436774251413`*^9, - 3.805543684657682*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, 3.6267881959573336`*^9}}, - ExpressionUUID -> "7aee13e0-4e61-4e17-a44c-47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm54Pos", ",", "qm54Neg", ",", "dE1", ",", "dE2", - ",", "dE3", ",", "dE4", ",", "dE5", ",", "p1", ",", "p2", ",", "p3", ",", - "p4", ",", "p5"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}, { - 3.805542938271511*^9, 3.805542942279377*^9}, {3.805543543906898*^9, - 3.805543544390399*^9}, {3.8055436458097534`*^9, 3.8055436733203783`*^9}}, - ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, 3.8047464099747696`*^9}}, - ExpressionUUID -> "42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{"-", "qm32"}]}], " ", ",", "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", "+", "qm54"}]}], " ", ",", "\[IndentingNewLine]", - RowBox[{"qm5", " ", "==", " ", - RowBox[{"-", "qm54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng54e", "==", "Ng54"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", - RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, - 3.805525497428443*^9, 3.8055260034368134`*^9, {3.8055429500503626`*^9, - 3.80554300919835*^9}, {3.8055432275081615`*^9, 3.8055432693160367`*^9}, { - 3.8055433007486143`*^9, 3.8055433082119155`*^9}, 3.805543350397403*^9, { - 3.8055434849805794`*^9, 3.8055434916496983`*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{1159, 630}, -WindowMargins->{{Automatic, 329}, {Automatic, 138}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 404, 6, 70, "Section"], -Cell[987, 30, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1345, 38, 203, 3, 30, "Text"], -Cell[1551, 43, 529, 12, 30, "Input"], -Cell[2083, 57, 788, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2896, 76, 1964, 40, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4863, 118, 4082, 58, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[8948, 178, 376, 8, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[9361, 191, 98, 0, 41, "Subsection"], -Cell[9462, 193, 1151, 17, 68, "Text"], -Cell[10616, 212, 13853, 173, 143, "Graphics"], -Cell[24472, 387, 2486, 53, 215, "Input"], -Cell[26961, 442, 646, 13, 69, "Input"], -Cell[27610, 457, 3298, 70, 297, "Input"], -Cell[30911, 529, 1846, 33, 145, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[32794, 567, 149, 3, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[32946, 572, 230, 4, 30, "Text"], -Cell[33179, 578, 240, 6, 30, "Input"], -Cell[33422, 586, 374, 6, 30, "Text"], -Cell[33799, 594, 1977, 53, 170, "Input"], -Cell[35779, 649, 738, 14, 88, "Input"], -Cell[36520, 665, 249, 4, 30, "Text"], -Cell[36772, 671, 191, 4, 30, "Input"], -Cell[36966, 677, 1192, 25, 74, "Input"], -Cell[38161, 704, 1145, 24, 74, "Input"], -Cell[39309, 730, 1449, 42, 94, "Input"], -Cell[40761, 774, 1246, 26, 74, "Input"], -Cell[42010, 802, 1188, 25, 74, "Input"], -Cell[43201, 829, 2213, 50, 94, "Input"], -Cell[45417, 881, 1246, 26, 74, "Input"], -Cell[46666, 909, 1195, 25, 74, "Input"], -Cell[47864, 936, 1454, 43, 94, "Input"], -Cell[49321, 981, 1368, 27, 74, "Input"], -Cell[50692, 1010, 1363, 27, 74, "Input"], -Cell[52058, 1039, 2338, 52, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[54433, 1096, 149, 3, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[54585, 1101, 229, 3, 30, "Text"], -Cell[54817, 1106, 323, 7, 30, "Input"], -Cell[55143, 1115, 374, 6, 30, "Text"], -Cell[55520, 1123, 1937, 53, 170, "Input"], -Cell[57460, 1178, 248, 3, 30, "Text"], -Cell[57711, 1183, 191, 4, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[57939, 1192, 158, 2, 49, "Subsection"], -Cell[58100, 1196, 822, 16, 69, "Input"], -Cell[58925, 1214, 293, 4, 30, "Text"], -Cell[59221, 1220, 3797, 101, 202, "Input"], -Cell[63021, 1323, 197, 3, 30, "Text"], -Cell[63221, 1328, 5330, 94, 573, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[68588, 1427, 161, 2, 49, "Subsection"], -Cell[68752, 1431, 194, 3, 30, "Text"], -Cell[68949, 1436, 2041, 40, 145, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[71027, 1481, 173, 2, 49, "Subsection"], -Cell[71203, 1485, 1701, 26, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[72941, 1516, 88, 0, 49, "Subsection"], -Cell[73032, 1518, 303, 5, 30, "Text"], -Cell[73338, 1525, 2147, 38, 240, "Input"], -Cell[75488, 1565, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve52.pdf b/devPneumatic/PneumaticValve52.pdf deleted file mode 100644 index 242889772b3b2a34f394cdf524e7fcdd4467723d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94430 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 - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve52.xml b/devPneumatic/PneumaticValve52.xml deleted file mode 100644 index 0183875..0000000 --- a/devPneumatic/PneumaticValve52.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - Pnenumatic Valve52. - PneumaticValve52.nb - PneumaticValve52.pdf - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve53.hpp b/devPneumatic/PneumaticValve53.hpp deleted file mode 100644 index 66d47b7..0000000 --- a/devPneumatic/PneumaticValve53.hpp +++ /dev/null @@ -1,1214 +0,0 @@ -#ifndef PNEUMATICVALVE53_HPP_INCLUDED -#define PNEUMATICVALVE53_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticValve53.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 5 Aug 2020 15:27:47 -//! @brief Pneumatic 53-valve -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticValve53.nb*/ - -using namespace hopsan; - -class PneumaticValve53 : public ComponentQ -{ -private: - double Bf; - double Cf; - double x0; - double p0; - double T0; - double R; - double cv; - double eps; - Port *mpP1; - Port *mpP2; - Port *mpP3; - Port *mpP4; - Port *mpP5; - double delayParts1[9]; - double delayParts2[9]; - double delayParts3[9]; - double delayParts4[9]; - double delayParts5[9]; - double delayParts6[9]; - double delayParts7[9]; - double delayParts8[9]; - double delayParts9[9]; - double delayParts10[9]; - double delayParts11[9]; - double delayParts12[9]; - double delayParts13[9]; - double delayParts14[9]; - double delayParts15[9]; - double delayParts16[9]; - double delayParts17[9]; - double delayParts18[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[18]; - int mNstep; - //Port P1 variable - double p1; - double qm1; - double T1; - double dE1; - double c1; - double Zc1; - //Port P2 variable - double p2; - double qm2; - double T2; - double dE2; - double c2; - double Zc2; - //Port P3 variable - double p3; - double qm3; - double T3; - double dE3; - double c3; - double Zc3; - //Port P4 variable - double p4; - double qm4; - double T4; - double dE4; - double c4; - double Zc4; - //Port P5 variable - double p5; - double qm5; - double T5; - double dE5; - double c5; - double Zc5; -//==This code has been autogenerated using Compgen== - //inputVariables - double xin; - //outputVariables - double qm12Pos; - double qm12Neg; - double qm32Pos; - double qm32Neg; - double qm14Pos; - double qm14Neg; - double qm54Pos; - double qm54Neg; - double Ng32e; - double Ng12e; - double Ng54e; - double Ng14e; - double Bfe; - //LocalExpressions variables - double cp; - //Expressions variables - //Port P1 pointer - double *mpP_p1; - double *mpP_qm1; - double *mpP_T1; - double *mpP_dE1; - double *mpP_c1; - double *mpP_Zc1; - //Port P2 pointer - double *mpP_p2; - double *mpP_qm2; - double *mpP_T2; - double *mpP_dE2; - double *mpP_c2; - double *mpP_Zc2; - //Port P3 pointer - double *mpP_p3; - double *mpP_qm3; - double *mpP_T3; - double *mpP_dE3; - double *mpP_c3; - double *mpP_Zc3; - //Port P4 pointer - double *mpP_p4; - double *mpP_qm4; - double *mpP_T4; - double *mpP_dE4; - double *mpP_c4; - double *mpP_Zc4; - //Port P5 pointer - double *mpP_p5; - double *mpP_qm5; - double *mpP_T5; - double *mpP_dE5; - double *mpP_c5; - double *mpP_Zc5; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpxin; - //inputParameters pointers - double *mpBf; - double *mpCf; - double *mpx0; - double *mpp0; - double *mpT0; - double *mpR; - double *mpcv; - double *mpeps; - //outputVariables pointers - double *mpqm12Pos; - double *mpqm12Neg; - double *mpqm32Pos; - double *mpqm32Neg; - double *mpqm14Pos; - double *mpqm14Neg; - double *mpqm54Pos; - double *mpqm54Neg; - double *mpNg32e; - double *mpNg12e; - double *mpNg54e; - double *mpNg14e; - double *mpBfe; - Delay mDelayedPart10; - Delay mDelayedPart20; - Delay mDelayedPart30; - Delay mDelayedPart40; - Delay mDelayedPart50; - Delay mDelayedPart60; - Delay mDelayedPart70; - Delay mDelayedPart80; - Delay mDelayedPart90; - Delay mDelayedPart100; - Delay mDelayedPart110; - Delay mDelayedPart120; - Delay mDelayedPart130; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticValve53(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(18,18); - systemEquations.create(18); - delayedPart.create(19,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - - //Add ports to the component - mpP1=addPowerPort("P1","NodePneumatic"); - mpP2=addPowerPort("P2","NodePneumatic"); - mpP3=addPowerPort("P3","NodePneumatic"); - mpP4=addPowerPort("P4","NodePneumatic"); - mpP5=addPowerPort("P5","NodePneumatic"); - //Add inputVariables to the component - addInputVariable("xin","Input signal 0solve(jacobianMatrix, systemEquations, stateVark, iter); - qm12Pos=stateVark[0]; - qm12Neg=stateVark[1]; - qm32Pos=stateVark[2]; - qm32Neg=stateVark[3]; - qm14Pos=stateVark[4]; - qm14Neg=stateVark[5]; - qm54Pos=stateVark[6]; - qm54Neg=stateVark[7]; - dE1=stateVark[8]; - dE2=stateVark[9]; - dE3=stateVark[10]; - dE4=stateVark[11]; - dE5=stateVark[12]; - p1=stateVark[13]; - p2=stateVark[14]; - p3=stateVark[15]; - p4=stateVark[16]; - p5=stateVark[17]; - //Expressions - qm1 = qm12Neg*onNegative(p1 - p2) + qm14Neg*onNegative(p1 - p4) - \ -qm12Pos*onPositive(p1 - p2) - qm14Pos*onPositive(p1 - p4); - qm2 = -(qm12Neg*onNegative(p1 - p2)) - qm32Neg*onNegative(-p2 + p3) + \ -qm12Pos*onPositive(p1 - p2) + qm32Pos*onPositive(-p2 + p3); - qm3 = qm32Neg*onNegative(-p2 + p3) - qm32Pos*onPositive(-p2 + p3); - qm4 = -(qm14Neg*onNegative(p1 - p4)) - qm54Neg*onNegative(-p4 + p5) + \ -qm14Pos*onPositive(p1 - p4) + qm54Pos*onPositive(-p4 + p5); - qm5 = qm54Neg*onNegative(-p4 + p5) - qm54Pos*onPositive(-p4 + p5); - Ng32e = onPositive(-p2 + p3)*(onNegative(-Bf + p2/p3) + \ -onPositive(-Bf + p2/p3)*signedSquareL(1 - Power(-Bf + p2/p3,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p2 + p3)*(onNegative(-Bf + p3/p2) + onPositive(-Bf \ -+ p3/p2)*signedSquareL(1 - Power(-Bf + p3/p2,2)/Power(1 - Bf,2),eps)); - Ng12e = onNegative(p1 - p2)*(onNegative(-Bf + p1/p2) + onPositive(-Bf \ -+ p1/p2)*signedSquareL(1 - Power(-Bf + p1/p2,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p2)*(onNegative(-Bf + p2/p1) + onPositive(-Bf + \ -p2/p1)*signedSquareL(1 - Power(-Bf + p2/p1,2)/Power(1 - Bf,2),eps)); - Ng54e = onPositive(-p4 + p5)*(onNegative(-Bf + p4/p5) + \ -onPositive(-Bf + p4/p5)*signedSquareL(1 - Power(-Bf + p4/p5,2)/Power(1 - \ -Bf,2),eps)) + onNegative(-p4 + p5)*(onNegative(-Bf + p5/p4) + onPositive(-Bf \ -+ p5/p4)*signedSquareL(1 - Power(-Bf + p5/p4,2)/Power(1 - Bf,2),eps)); - Ng14e = onNegative(p1 - p4)*(onNegative(-Bf + p1/p4) + onPositive(-Bf \ -+ p1/p4)*signedSquareL(1 - Power(-Bf + p1/p4,2)/Power(1 - Bf,2),eps)) + \ -onPositive(p1 - p4)*(onNegative(-Bf + p4/p1) + onPositive(-Bf + \ -p4/p1)*signedSquareL(1 - Power(-Bf + p4/p1,2)/Power(1 - Bf,2),eps)); - Bfe = Bf; - } - - //Calculate the delayed parts - - delayedPart[1][1] = delayParts1[1]; - delayedPart[2][1] = delayParts2[1]; - delayedPart[3][1] = delayParts3[1]; - delayedPart[4][1] = delayParts4[1]; - delayedPart[5][1] = delayParts5[1]; - delayedPart[6][1] = delayParts6[1]; - delayedPart[7][1] = delayParts7[1]; - delayedPart[8][1] = delayParts8[1]; - delayedPart[9][1] = delayParts9[1]; - delayedPart[10][1] = delayParts10[1]; - delayedPart[11][1] = delayParts11[1]; - delayedPart[12][1] = delayParts12[1]; - delayedPart[13][1] = delayParts13[1]; - delayedPart[14][1] = delayParts14[1]; - delayedPart[15][1] = delayParts15[1]; - delayedPart[16][1] = delayParts16[1]; - delayedPart[17][1] = delayParts17[1]; - delayedPart[18][1] = delayParts18[1]; - - //Write new values to nodes - //Port P1 - (*mpP_p1)=p1; - (*mpP_qm1)=qm1; - (*mpP_dE1)=dE1; - //Port P2 - (*mpP_p2)=p2; - (*mpP_qm2)=qm2; - (*mpP_dE2)=dE2; - //Port P3 - (*mpP_p3)=p3; - (*mpP_qm3)=qm3; - (*mpP_dE3)=dE3; - //Port P4 - (*mpP_p4)=p4; - (*mpP_qm4)=qm4; - (*mpP_dE4)=dE4; - //Port P5 - (*mpP_p5)=p5; - (*mpP_qm5)=qm5; - (*mpP_dE5)=dE5; - //outputVariables - (*mpqm12Pos)=qm12Pos; - (*mpqm12Neg)=qm12Neg; - (*mpqm32Pos)=qm32Pos; - (*mpqm32Neg)=qm32Neg; - (*mpqm14Pos)=qm14Pos; - (*mpqm14Neg)=qm14Neg; - (*mpqm54Pos)=qm54Pos; - (*mpqm54Neg)=qm54Neg; - (*mpNg32e)=Ng32e; - (*mpNg12e)=Ng12e; - (*mpNg54e)=Ng54e; - (*mpNg14e)=Ng14e; - (*mpBfe)=Bfe; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // PNEUMATICVALVE53_HPP_INCLUDED diff --git a/devPneumatic/PneumaticValve53.nb b/devPneumatic/PneumaticValve53.nb deleted file mode 100644 index 55bc5d3..0000000 --- a/devPneumatic/PneumaticValve53.nb +++ /dev/null @@ -1,1705 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 11.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 158, 7] -NotebookDataLength[ 81394, 1697] -NotebookOptionsPosition[ 77892, 1594] -NotebookOutlinePosition[ 78545, 1616] -CellTagsIndexPosition[ 78502, 1613] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Valve53", "Section", - CellChangeTimes->{{3.5353721095590158`*^9, 3.53537211830196*^9}, - 3.5353722343957663`*^9, {3.8036340525046444`*^9, 3.8036340541474895`*^9}, - 3.803881178343158*^9, 3.8042501406479216`*^9, 3.804273527535226*^9, { - 3.804329442880397*^9, 3.804329445883741*^9}, 3.8048574830449095`*^9, - 3.8055437085440426`*^9, 3.805622851678891*^9}, - ExpressionUUID -> "a8f57cf9-7f46-4f7f-baf1-14fe362c0648"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "844b3beb-a2fd-4fc9-87e6-b4719622a54d"], - -Cell["This path is pointing to where the file should be generated", "Text", - CellChangeTimes->{{3.804746787277581*^9, - 3.8047468131049385`*^9}},ExpressionUUID->"d841070d-8477-431e-b63d-\ -f1e54cda9d7b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}], ";"}]], "Input", - CellChangeTimes->{{3.8036224011917915`*^9, 3.80362242280663*^9}, - 3.804935035606517*^9, 3.805455735116706*^9}, - ExpressionUUID -> "9fffce38-6c31-4ac2-8fe0-709b9320587f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}, {3.803622448189187*^9, 3.8036224560248623`*^9}, - 3.804935034426733*^9, 3.8054557323076034`*^9}, - ExpressionUUID -> "b1a17ebe-ca25-48b4-8480-1a36ba699ce9"], - -Cell[CellGroupData[{ - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "author", "=", - "\"\, Victor Juliano De Negri** \ -\>\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\<*IEI/Flumes, Link\[ODoubleDot]ping University, **Universidade Federal \ -de Santa Catarina\>\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.516356859703125*^9, 3.516356873*^9}, { - 3.5353705928437004`*^9, 3.5353705930310946`*^9}, {3.535528004859375*^9, - 3.535528013828125*^9}, 3.5757768090335207`*^9, {3.6058649145952826`*^9, - 3.6058649172112823`*^9}, 3.6266921123196993`*^9, {3.8036340643406515`*^9, - 3.8036340782586813`*^9}, {3.803881171499217*^9, 3.8038811735021505`*^9}, { - 3.8042501387808495`*^9, 3.804250142297221*^9}, {3.80427352965504*^9, - 3.804273531102547*^9}, {3.8043294531557817`*^9, 3.804329456958108*^9}, { - 3.804857125863344*^9, 3.804857127807338*^9}, 3.805024339858855*^9, { - 3.8055437051305633`*^9, 3.8055437068328075`*^9}, {3.805622853742767*^9, - 3.805622854851616*^9}, 3.8056273154489527`*^9, 3.8056276610726337`*^9}, - ExpressionUUID -> "f1d28f9a-2912-4dec-a44b-799e1f1980c6"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2020", ",", "8", ",", "5", ",", "15", ",", "27", ",", - "45.4177169`9.409800165334937"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.626692080734541*^9, 3.6266921169441614`*^9}, { - 3.626693966767125*^9, 3.6266939824806967`*^9}, 3.6266940419696445`*^9, - 3.6266947483748465`*^9, 3.626694938685317*^9, {3.626694985830031*^9, - 3.6266950021316605`*^9}, 3.626695489603403*^9, 3.626695731138554*^9, - 3.6266959441988583`*^9, 3.6266962597274075`*^9, {3.6266980423116484`*^9, - 3.626698064610878*^9}, 3.6267530586610126`*^9, 3.626786702730054*^9, { - 3.6267867927080507`*^9, 3.6267868102418036`*^9}, 3.6267869371954975`*^9, - 3.6267883481153336`*^9, 3.6267885458053336`*^9, {3.6267886029373336`*^9, - 3.626788627960334*^9}, 3.626788667118334*^9, {3.626788725817361*^9, - 3.6267887750692854`*^9}, 3.8036344883826056`*^9, 3.803634647451294*^9, - 3.803813662538252*^9, 3.803813999492004*^9, 3.8042418563328433`*^9, - 3.804242086681238*^9, 3.804242345806949*^9, 3.8042447623097053`*^9, - 3.804246387829973*^9, 3.8042493296015215`*^9, 3.8042500501263013`*^9, - 3.8042502430932493`*^9, 3.8042503486034145`*^9, 3.8042505580044165`*^9, { - 3.804330370563507*^9, 3.804330391618931*^9}, 3.804330940074765*^9, - 3.8043310240133247`*^9, 3.804331146159178*^9, 3.804405475592243*^9, - 3.8044100020691433`*^9, 3.804587781635994*^9, 3.8045897138399153`*^9, - 3.804594281360493*^9, 3.804595154734604*^9, 3.8045953580388947`*^9, - 3.804595495936651*^9, 3.804595556028666*^9, 3.804595628525885*^9, - 3.8045956968274317`*^9, 3.804598888339372*^9, 3.804599021907595*^9, - 3.804757554047377*^9, 3.8047576859669247`*^9, 3.804837773327941*^9, - 3.804837821017748*^9, 3.804837913059807*^9, 3.8048537384503727`*^9, - 3.8048571817816644`*^9, 3.804920337402954*^9, 3.804921283329753*^9, - 3.8049213813736205`*^9, 3.805014808268583*^9, 3.805014993114212*^9, { - 3.8050243177620745`*^9, 3.805024339858855*^9}, 3.8054557744574537`*^9, - 3.8054558201323395`*^9, 3.805455887787578*^9, 3.8054560745609207`*^9, - 3.8055246359595404`*^9, 3.805524704195155*^9, 3.805524801214073*^9, - 3.805524994716473*^9, 3.805525041354367*^9, 3.8055250744282503`*^9, - 3.8055251120524406`*^9, 3.805525198040743*^9, 3.805525230596163*^9, - 3.8055253552910566`*^9, 3.8055255011116433`*^9, 3.805525557539437*^9, - 3.805525594694111*^9, 3.805525662593073*^9, 3.8055257015428963`*^9, - 3.8055257364538856`*^9, 3.8055259699633417`*^9, 3.805526007265876*^9, - 3.8055260662500477`*^9, 3.8055261279773755`*^9, 3.8055262983066807`*^9, - 3.8055263381316013`*^9, 3.8055263751843805`*^9, 3.805526413159209*^9, { - 3.8055264749374847`*^9, 3.8055265294402657`*^9}, 3.8055266262573967`*^9, - 3.8055266997755632`*^9, 3.8055268136381135`*^9, 3.8055268582800646`*^9, - 3.805526958152733*^9, 3.8055270912184753`*^9, 3.805527128794716*^9, - 3.8055271714337325`*^9, 3.8055273885967283`*^9, {3.805527420388934*^9, - 3.80552744945695*^9}, 3.805527550840397*^9, 3.805527586310809*^9, - 3.8055276489462004`*^9, 3.8055276991494155`*^9, 3.8055277442758675`*^9, - 3.805527780357649*^9, 3.8055278468860245`*^9, 3.805527879316572*^9, - 3.8055294579492188`*^9, 3.80552952430777*^9, 3.8055295656251507`*^9, - 3.8055296122630434`*^9, 3.805529852446294*^9, 3.805534450436387*^9, - 3.805534548776949*^9, 3.80553460312389*^9, {3.8055348478194857`*^9, - 3.8055348649518127`*^9}, 3.8055349506204453`*^9, 3.80553501482322*^9, { - 3.8055352179656773`*^9, 3.8055352250743446`*^9}, 3.805535265889268*^9, - 3.805541347913973*^9, 3.8055415031168814`*^9, 3.8055417845006313`*^9, - 3.8055419973660593`*^9, 3.8055420848678017`*^9, 3.8055424927181015`*^9, - 3.805542541787487*^9, 3.8055425973701525`*^9, 3.8055427444724154`*^9, - 3.805613614885068*^9, 3.8056157360206394`*^9, 3.805615902161265*^9, - 3.8056159593682556`*^9, 3.805616151614952*^9, 3.805616376980487*^9, - 3.8056201257117395`*^9, 3.8056201855859776`*^9, 3.805620287790553*^9, - 3.8056203899431815`*^9, 3.805622766331932*^9, 3.80562286546367*^9, - 3.8056273154489527`*^9}, - ExpressionUUID -> "0df5666d-74e4-407c-96f5-305eca4ccc1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"eps", "=."}], ";", - RowBox[{"R", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}, - CellChangeTimes->{{3.575777009031903*^9, 3.5757770093129168`*^9}, { - 3.8042423261122637`*^9, 3.804242327784542*^9}, 3.805024339858855*^9, - 3.8056273154489527`*^9}, - ExpressionUUID -> "b013c274-698f-428f-b38d-a2e617c365f0"] -}, Closed]], - -Cell[CellGroupData[{ - -Cell["Component description", "Subsection",ExpressionUUID->"33d33fda-af94-4e63-8d63-777ee2b1fbf3"], - -Cell["\<\ -This is a simple pneumatic valve with three ports and three positions. The \ -opening is proportional to the input signal and limited between -1 and 1. At \ -1 input signal it opens between pressure port (1) and load port (4) and \ -between the load port (2) and return (3). When the input signal it is one. \ -At -1 input signal it opens the load port (2) to the pressure port (1) and \ -between the load port (4) and return port (5). The opening is proportional \ -to the input signal. There is no valve dynamics\ -\>", "Text", - CellChangeTimes->{{3.8050222996074395`*^9, 3.8050223969109397`*^9}, { - 3.8050224580941873`*^9, 3.8050225050586367`*^9}, {3.805022547197379*^9, - 3.8050225770905113`*^9}, {3.8050229423647647`*^9, 3.805022947994833*^9}, { - 3.8050229965362473`*^9, 3.80502311593644*^9}, {3.8050231470569267`*^9, - 3.8050231830501547`*^9}, {3.805023334479188*^9, 3.8050234261703887`*^9}, - 3.805023671522853*^9, {3.8050237813496456`*^9, 3.805023820894039*^9}, { - 3.8056268915461845`*^9, 3.805627072164873*^9}}, - ExpressionUUID -> "8691b14c-c93d-4322-aee2-62f88b1104a4"], - -Cell[GraphicsData["Metafile", "\<\ -CF5dJ6E]HGAYHf4PEfU^I6mgLb15CDHPAVmbKF5d0@0002gh0@0006`0000000008@000384001H0P00 -oOoooogoooo44@006P/00215CDH00040n2d008@0000200000000000000000000HA<006PK003B0000 -:@40000000000000000004/d0`0NR0@0AP0002`0000P0000ADe6:`500@0L00004000008@`=/00000 -F08005P200160000m0000>P00015CDH[<4020100000400000020?b90100<0000000002Y0000T0000 -60000000P3l0000000000000P3l0000000000390004L000040000000000000000626A000:4@Z@000 -900001P00000080o000000000000080o00000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?nZD<4A9I113 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000000c1000X080000000000000<`@00:02000T000090000000P3l0000000000000P3oZU314 -BF@@@`80000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 -00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 -0000000000000000000000000030ib]10001I000001=000000000;iE/@0A0000P;N70>UE/GMHhTl0 -@:2`Me6]Ro_noooo`>5?05?0060001_=CAe -000000000000000000000:PEmhja?1;<000@0003oona?/oooooooo0X000Bc101T0000 -000002R1nPW`3:l0C>9?0>`g9gKPDoX9k4l4/`T000000000100006Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@000320P008@000?`2002^0000 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD0000380F4hk0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 -8D0700`000000000:T0002@0000H00000020?`00000000000020?jLX4dA9I113140000`000000000 -8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 -X080000000000000<`@00:02000T000090000000P3l0000000000000P3nW:1=4BF@@@`80000<0000 -40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 -000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 -000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0@:2`Me6]Ro_noooo -`>5?05?0060001_=CAe0000000000000000 -00000:PEmhja?1;D000@0003oona?]Oooooooo0X000Be101T0000000002R1nPW`3:l0 -C>9?0>`g9gKPDoX9k4l4]@T000000000100006Af00P000009@0000`0000100005P0000`0000H0000 -4P0000`000010000600000`000000002E00005@0001=0P008@0008L2002^00000P00000000000000 -0000000000010000C00000000000000000000?ooooooooooD00003@0KF4k00009@0000`0000>0020 -:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -10000000000U@000400000@0000000007d0300`0000000007T0900`0000000008D0700`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00000003=3140000`0000000008@0000P0000L0000 -200004/000100000<00000D0000P00000@000040000@000000000000000c1000X080000000000000 -<`@00:02000T000090000;02;3X0000000000;02;3X00000000c@`80000R000030000?oooom60000 -`1@00;@D0015CDH[:d0000`0000000007T0600`0000000008D0500`0000000007T0900`000000000 -:T0002@0000H0000/08/>P0000000000/08/>P00000003=38D0700`00000000024000c`0000`0000 -0Q30f`@00000000000000000003Po3ladV0;X0000W000008@`=/@0000 -00000;2;dT;ALPM3?9;B@]5b1d>:Um92RgT7@hZGdT;GP@M3RYOB@PiE4T>:Um92FUdB@cbBdT8DI193 -/8_B@QAT4T?oJXm256@B@g=TSd8DI1939En?@UYM4T00002`000024<3K -000009P000000000SWL7?`<0000008100000008@`=/000000000oaE0000@0000100000400008@082 ->00002`000024<3K000009P0000000007645?`<0000008100000008@`=/000000000o`Q00`R@VUCbT:o/Ie2l<34@Q3hX481JLA20061PAA01X0@0000 -100000000?l8@0L2>00002`000024<3K000009P000000000K7N7?P<0000008100000008@`=/00000 -0000oaE01P0@0000100000L0000Z@000900001P0000gSEC0=:/0?oE>ekkV2Wk0B^Ff@gd`]D00002`000024<3K000009P000000000Io]4;8_0m3cgB;M2bdLB@`010H4E@0/0400000@0000:0000 -:T0002@0000H0000b>=a@00000000000b>=a@7POHl00002`000024<3K000009P000000000 -el;d?P<0000008100000008@`=/000000000o`Q03`3UJY2 -bdLB@`010H4E@140400000@0000@0000:T0002@0000H0000[W1O`00000000000K@Ea`1[m[d?4lKm3 -240B0SP0000/00000Q30f`00002H00000000070S2Cl300000020@00000024<3K000000000?l8@1<3 -;000020000024<3K0P000000002]59i2H>fg@[0DWT;IolY20041PAE04`0@0000100001800008@1@3 -=00002P000024<3K0`000000002]59i23lbe@X1NW4:8G[]2?k6O@XQN^d800H61540DP10000040000 -0000o`Q05@8h0000;000008@`=/00000V000000000218hTn0`000000P40000000Q30f`000000003o -5D0D0100000400005@0002Y0000T000060000X0000 -W000008@`=/@0000000004YGSd;Yi`a3XE^?@^WW3400002`000024<3K000009P000000000G7L7?`<0000008100000008@`=/000000000oaE05P0@0000 -100001L00008@1P2>00002`000024<3K000009P000000000OGL7?`<0000008100000008@`=/00000 -0000o`Q06@L8/E2Bf8B@`010`00002`000024<3K000009P000000000981K?P<0000008100000008@`=/00000 -0000oaE0700@0000100001d0000Z@000900001P0001BC7Q0000000000025gVo0CW8X`egL_T<8@1h2 ->00002`000024<3K000009P000000000L2<9?`<0000008100000008@`=/000000000o`Q07`=a@00000000000b>=a@7POHl=a@00000000000b>=a@3j_H/00002`000024<3K000009P000000000XKk]?P<000000810 -0000008@`=/000000000o`Q09@`@/aI4T<00@<3 -5D0U010000040000900002Y0000T000060000B`aXool<8@2X2>00002`000024<3K000009P000000000 -Io]4;8_0m3 -cgB;M2 -bdLB@`010`=a@00000000000b>=a@7POHl=a@000001/f8fhb>=a`5m2Hl?iIPY4240^0SP0000/00000Q30f`00002H0000 -00000=O2m3h300000020@00000024<3K000000000?l8@2l3;000020000024<3K0P000000001ZgZM2 -b;`?@n49[D:B_Pm300430aE0;`0@0000100002h00008@302>00002`000024<3K000009P000000000 -TB[Z?P<0000008100000008@`=/000000000o`Q0<@EZT;;Aa9300410AE0=@0@0000100003@0000Z@000900001P00038hg50000000000038hg50 -N1mS`cIgol3nBm2 -0`0004]^=Kn0K3Fob4D/@h1/=Km;KSFodB<]@R4000080000HP0000`0000100008@0000P0000N0000 -60000000002c0000<`@00<01000L000020000240000800008@0000P0001c000030000000000L0000 -200002D0000<00000000P2D0000<00001`00P2D0000<00003P00P1T0000<0000oooo01P0000<0000 -00000180000<00000P0001<0000<00000@0001@0000<00003@0001D0000<00000@0001H0000<0000 -000000d0000@000000000000000j0000300000X0000K000040000000000000008`000200003/eLM0 -00000000002QNIZ=dcEad00000000000:5had1IX8e0iVXg@`@0001c0000 -30000000000=000040000000002c0000DP00070100010000400000L00000000000000;`200000000 -1`828U<0N@1c07@0I@1]000000000000000000000000000000000000000000000000000000000000 -00000000000002Mf`50WM]1G9gK5i:agZ=U?00?V[7MX8@00VNZ/McT]OHbP9=@H003j2@00000W7@0j -okoO@`000000000000000000000000000000000000000?X9@@@000000000000000000?l700000000 -00000000002P9=@H0000000000000000000003RgnPT10000000000000000000000000?2SdQP00000 -`03j2@000000000000010JQ6e1P00000000006PQ00000041000000000014hDl0@:2`Mi6^Ro_noooo -1=Y?0:]]/GL00000dVfaMjPTe1P00?X9I7H02000000U00003000004000160000:00001`00017A4U3 -0P000?ooooooooooZ`0002X000000000AP0001@000080000AdA9@`<0000R000030000?oooolR0000 -30000?oooolU0000300000d0080X000030000040000R000030000?oooolR000030000?oooom60000 -o0400?010015CDH[;40002@0000H00000020?`00000000000020?`0008000020:T0002@0000H0000 -S=g6@000000000007j[3@57`S41BECM3:T0002@0000H0000/08/>P0000000000/08/>P00000003=3 -940000`000000000:d0000`0000000007T0600`0000000008D0500`000000000240312P0000L0000 -0Q30f`000000000@0000P0000800H8I4000XA3A00`0<0000000001i02@0<0000000002Y0000T0000 -60000;02;3X0000000000;02;3X00000000c@b501`0<0000000002Y0000T000060000;02;3X00000 -00000;02;3X00000000c@bY0000T000060000000P3l0000000000000P3l00000000002Y0000T0000 -60000000P3l0000000000000P3l00000000002I0000@000010000000000U@000400000@000000000 -7d0300`0000000007T0900`0000000008D0700`000000000:T0002@0000H00000020?`0000000000 -0020?hjQ8D@gUPi4140000`0000000008@0000P0000L0000200004/000100000<00000D0000P0000 -0@000040000@000000000000000c1000X080000000000000<`@00:02000T000090000000P3l00000 -00000000P3n>XB54=iH>A080000<000040000000000000002P0001000000000000000580001`0@00 -0@0008_oool0000000000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000 -`>L[@@00000000000000000000000000000000000030ib]100010000001=0000000002SQC`0A0000 -100009SWC`1HhTl0@:2`Me6]Ro_noooo`>5?0?P>e0[h3]@:n5?0060001_=CAe000000000000000000000:PEmhjD000@0003ookaUiOoooooo -o0X000CU101T0000000002R1nPTP2Zl0C>9?0>`g9gKPDoX9_6D4i@T000000000100006Af00P00000 -9@0000`0000100005P0000`0000H00004P0000`000010000600000`000000002E00005@000270P00 -b`400<42001H0P000P000000000000000000000000010000C00000000000000000000?oooooooooo -D0000340000k00009@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000 -ADe6:bY0000T000060000000P3l0000000000000P3l00000000002Y0000T000060000000P3l00000 -00000000P3l00000000002I0000@000010000000000U@000400000@0000000007d0300`000000000 -7T0900`0000000008D0700`000000000:T0002@0000H00000020?`00000000000020?i@T=T@gUPi4 -140000`0000000008@0000P0000L0000200004/000100000<00000D0000P00000@000040000@0000 -00000000000c1000X080000000000000<`@00:02000T000090000000P3l0000000000000P3nD93I4 -=iH>A080000<000040000000000000002P0001000000000000000580001`0@000@0008_oool00000 -00000000002@0@00000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@0000000000 -0000000000000000000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0 -@:2`Me6]Ro_noooo`>5?05?0060001_=CAe -000000000000000000000:PEmhj9?0>`g9gKPDoX9Bc`4l0T000000000100006Af00P000009@0000`000010000 -5P0000`0000H00004P0000`000010000600000`000000002E00005@0003I0P00b`4001<3001H0P00 -0P000000000000000000000000010000C00000000000000000000?ooooooooooD00003<0000k0000 -9@0000`0000>0020:00000`0000100008P0000`0003oooooAP000<`000300000ADe6:bY0000T0000 -60000000P3l0000000000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000 -000002I0000@000010000000000U@000400000@0000000007d0300`0000000007T0900`000000000 -8D0700`000000000:T0002@0000H00000020?`00000000000020?n6U2d@gUPi4140000`000000000 -8@0000P0000L0000200004/000100000<00000D0000P00000@000040000@000000000000000c1000 -X080000000000000<`@00:02000T000090000000P3l0000000000000P3oQY@]4=iH>A080000<0000 -40000000000000002P0001000000000000000580001`0@000@0008_oool0000000000000002@0@00 -000000@012930640K01Y0680LP1Y00000000000000000000`>L[@@00000000000000000000000000 -000000000030ib]100010000001=0000000005@0000A0000XR8QQ000001HhTl0@:2`Me6]Ro_noooo -`>5?05?0060001_=CAe0000000000000000 -00000:PEmhjh000@0003oofYgk_ooooooo0X000C^101T0000000002R1nPUX2Zl0 -C>9?0>`g9gKPDoX9JWL4kPT000000000100006Af00P000009@0000`0000100005P0000`0000H0000 -4P0000`000010000600000`000000002E00005@0000_0P00b`4006T2001H0P000P00000000000000 -0000000000010000C00000000000000000000?ooooooooooD00003D0000k00009@0000`0000>0020 -:00000`0000100008P0000`0003oooooAP0008`000200000ADe6:bY0000T000060000000P3l00000 -00000000P3l00000000002Y0000T000060000000P3l0000000000000P3l00000000002I0000@0000 -100000000008@0@4600000`000024<3K000000<0010d@0@030000000000Q000020000680000<0000 -0@0004`0001T000000000;<0000b1000_`400000002c0000<`@000d1000Y0:X0000000000000080o -000000000000080o0000000000000000000000000000000000000000000R000030000?oooom60000 -700001000015CDH[0T0000`0000000003P0001@000000000400001@0 -\>"], "Graphics", - ImageSize->{274., 172.04651162790697`}, - ImageMargins->{{63, 0}, {0, 0}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "Bf", ",", ".528", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Cf", ",", - RowBox[{"1.", " ", - SuperscriptBox["10", - RowBox[{"-", "13"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "x0", ",", "0.1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "p0", ",", "100000.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T0", ",", "297.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "R", ",", "287.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "cv", ",", "718", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "eps", ",", "0.02", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370565329912*^9, 3.5353705653455253`*^9}, { - 3.535370598980867*^9, 3.535370607569777*^9}, {3.535370682449456*^9, - 3.535370772725971*^9}, 3.5355279035625*^9, {3.572017994427971*^9, - 3.5720180086697855`*^9}, {3.8036340991916904`*^9, - 3.8036341013614497`*^9}, {3.8036341945389094`*^9, 3.80363421103648*^9}, { - 3.8042502668327627`*^9, 3.8042502836913753`*^9}, {3.8042735744738126`*^9, - 3.804273604974348*^9}, {3.804834121737302*^9, 3.8048341252876387`*^9}, - 3.804857170406397*^9, {3.8049203089303265`*^9, 3.804920310913278*^9}, { - 3.805011464771186*^9, 3.8050114718561707`*^9}, {3.8051085386521115`*^9, - 3.8051086382954836`*^9}, {3.8051087117254987`*^9, - 3.8051087197565823`*^9}, {3.805454098728649*^9, 3.8054541048583255`*^9}, - 3.8054551085310326`*^9}, - ExpressionUUID -> "303be765-e9fc-44f7-94b5-8b137bbc4f2a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "xin", ",", "1", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.535527741234375*^9, 3.535527744390625*^9}, { - 3.535527776078125*^9, 3.5355278698125*^9}, {3.5720180179783173`*^9, - 3.5720180202844496`*^9}, {3.803634115508345*^9, 3.803634155729506*^9}, { - 3.8042501499303474`*^9, 3.80425015057868*^9}, 3.8048571376631727`*^9}, - ExpressionUUID -> "b285c72f-9e43-46ac-b84f-0805e85dec8d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm12Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm32Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm14Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm54Pos", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "qm54Neg", ",", "0.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng32e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng12e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng54e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ng14e", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Bfe", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.626786893484127*^9, 3.626786931443923*^9}, - 3.803813598174629*^9, 3.8038136341521225`*^9, {3.803813938162367*^9, - 3.8038139603247657`*^9}, {3.8038145991463203`*^9, - 3.8038146177733107`*^9}, {3.8038148807248917`*^9, - 3.8038149028135614`*^9}, {3.803814953045969*^9, 3.803814967057192*^9}, { - 3.8043309934151564`*^9, 3.8043310114208217`*^9}, 3.8045954501858444`*^9, { - 3.805013263536998*^9, 3.805013278739939*^9}, {3.80501424204737*^9, - 3.8050142445247602`*^9}, {3.8050144625554366`*^9, - 3.8050144671851745`*^9}, {3.8050146989824276`*^9, - 3.8050147006181927`*^9}, {3.805014915367519*^9, 3.8050149182222652`*^9}, { - 3.805024083013446*^9, 3.8050240914539475`*^9}, {3.805525319323639*^9, - 3.8055253268748503`*^9}, {3.8055435243970222`*^9, 3.8055435260702963`*^9}}, - ExpressionUUID -> "1547f96f-2227-4719-9bd2-75f498556134"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"PneumaticQnode", "[", - RowBox[{"1", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"2", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"3", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"4", ",", "100000.", ",", "\"\\""}], "]"}], - ",", "\[IndentingNewLine]", - RowBox[{"PneumaticQnode", "[", - RowBox[{"5", ",", "100000.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370789690829*^9, 3.5353707897064214`*^9}, - 3.53552777309375*^9, {3.535542211390625*^9, 3.535542214078125*^9}, { - 3.535542265921875*^9, 3.535542311625*^9}, {3.5684508318796263`*^9, - 3.5684508487293115`*^9}, {3.5684511750240593`*^9, - 3.5684511760840592`*^9}, {3.5720179665203743`*^9, 3.572017974399825*^9}, - 3.803814669346805*^9, 3.8038148065042076`*^9, {3.8038149093424788`*^9, - 3.803814935981494*^9}, {3.803880950923745*^9, 3.8038809779838295`*^9}, { - 3.8042735457124767`*^9, 3.8042735489141736`*^9}, 3.804773429558346*^9, - 3.804773504700839*^9, 3.8047735774467983`*^9, 3.804773625572158*^9, { - 3.8050132869302034`*^9, 3.8050132883292885`*^9}, {3.8050142476192694`*^9, - 3.8050142486914325`*^9}, {3.805014469107465*^9, 3.8050145415480537`*^9}, { - 3.8050147100626383`*^9, 3.8050147209115753`*^9}, {3.805542851655855*^9, - 3.805542865871192*^9}}, - ExpressionUUID -> "6f4571d4-b6a4-450e-bd7d-4695ea7860b0"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False, - ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, 3.804857115838684*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"xine", "=", - RowBox[{"-", "xin"}]}], ";"}]], "Input", - CellChangeTimes->{{3.805613479048188*^9, 3.8056134837763076`*^9}, { - 3.8056135202157197`*^9, 3.805613523917901*^9}, 3.805620181281417*^9, - 3.805620282192327*^9, 3.8056203870821347`*^9, 3.8056227602142344`*^9}], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Cf12", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf32", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf14", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Cf54", "=", - RowBox[{"Cf", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, { - 3.805455158947027*^9, 3.805455179490837*^9}, 3.8055435268235207`*^9}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Bf12", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf32", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf14", "=", "Bf"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Bf54", "=", "Bf"}], ";"}]}], "Input", - CellChangeTimes->{{3.805453413762368*^9, 3.805453441487768*^9}, { - 3.8054541143385487`*^9, 3.805454116960842*^9}, {3.8054558786510024`*^9, - 3.8054558847227397`*^9}, {3.8055252807674103`*^9, 3.805525300690859*^9}, { - 3.8055254774190845`*^9, 3.8055254827855463`*^9}, {3.805525962864666*^9, - 3.8055259662381835`*^9}, {3.80552725880361*^9, 3.8055272641151314`*^9}, { - 3.8055275203538437`*^9, 3.8055275229851294`*^9}, 3.805543527498823*^9}], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, - 3.804746198521885*^9}},ExpressionUUID->"fbc6ac93-5130-4905-8ff0-\ -27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"], - -Cell[BoxData[ - RowBox[{"Ng12Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805529437134689*^9, 3.8055294384203625`*^9}, { - 3.8055297835673447`*^9, 3.8055297851207395`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng12Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf12"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8055294393164377`*^9, - 3.8055294401795473`*^9}, {3.8055297859468875`*^9, 3.8055297867051053`*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng12", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng12Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p1"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng12Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p2"], "-", "Bf12"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRDdwOWzpgJIh7UdAdO++yZcB/OtBG6AaADMIKBv - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng32Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.8055294481822934`*^9, 3.8055294493800583`*^9}, {3.8055298023779383`*^9, - 3.805529803320966*^9}}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng32Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf32"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.8055294501302843`*^9, 3.805529451148235*^9}, { - 3.805529804336918*^9, 3.805529805264961*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng32", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng32Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p2", "p3"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf"}], "]"}], "Ng32Neg"}], " ", "+", - " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p3", "p2"], "-", "Bf32"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.8055294524468946`*^9, 3.8055294536846175`*^9}, {3.8055298070581107`*^9, - 3.80552980857155*^9}, 3.8055349955610886`*^9}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng14Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.805455359033637*^9, 3.8054553672561555`*^9}, { - 3.8055265944981575`*^9, 3.8055265952823477`*^9}, {3.8055268996733675`*^9, - 3.8055269059685616`*^9}}, - ExpressionUUID -> "9b00c93b-01a2-4bc9-b342-2670ce645581"], - -Cell[BoxData[ - RowBox[{"Ng14Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf14"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.8054553623492203`*^9, - 3.8054553692550936`*^9}, {3.805526591978756*^9, 3.8055265926580553`*^9}, { - 3.8055269247042356`*^9, 3.805526925551361*^9}}, - ExpressionUUID -> "49ba611d-d315-456d-9dc4-f724281fcea5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng14", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng14Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p1"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng14Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p1", "p4"], "-", "Bf14"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->CompressedData[" -1:eJxTTMoPSmViYGAQBWIQzcDgdfOt0StHBoZaKO37FEw3VEDp+0I14SBaVBhM -M5jJQfj5YHrO+9jFXtNeOdpFyiwF0UEftPaAaGXhT2A6yFyo0xtI60uLd4Ho -EKf1XPGsrx1XqB4E0xrPVXKMw984HmKrANPrBM4Wg2j79folINpP8l0PiP7d -59MLoouVfv2wBtI7rv8F08bLin03RLxxfL3hK5he13/5JlfkG8dXS67fAdHh -BkavQXTYj04w/WCGwxcQfWzCVDDNWP5/UjWQPsKwcDKI3sk7fzWIdrI1Xw+i -10x3ORIc9cZR9yTPcRB9at3uphAgLZEo0AqipfhW3KoA0pnNhrdBNADGUZ/U - - "], - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"], - -Cell[BoxData[ - RowBox[{"Ng54Pos", ":=", " ", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.516362438390625*^9, 3.51636243934375*^9}, { - 3.51636253609375*^9, 3.5163625365625*^9}, 3.568457441890836*^9, - 3.62669625404884*^9, {3.804870597654211*^9, 3.804870598075777*^9}, { - 3.8048706421083584`*^9, 3.8048706425229297`*^9}, {3.8051020828316708`*^9, - 3.805102167355263*^9}, {3.805102202608164*^9, 3.805102206949346*^9}, - 3.805102581388358*^9, 3.8051069502531605`*^9, {3.8051070512545753`*^9, - 3.805107053239428*^9}, {3.805107099392397*^9, 3.8051071016797934`*^9}, { - 3.8051078304575377`*^9, 3.8051078309732428`*^9}, {3.805108395682269*^9, - 3.805108413799671*^9}, {3.8051084644290066`*^9, 3.8051084964765325`*^9}, { - 3.805455428743731*^9, 3.8054554479728956`*^9}, {3.8055265899468517`*^9, - 3.8055265908738956`*^9}, {3.80552693117556*^9, 3.8055269416647406`*^9}, { - 3.8055435282460527`*^9, 3.80554352928498*^9}, 3.8056156941558247`*^9}, - ExpressionUUID -> "8fea452e-fa0c-4283-9786-d12abb2153c8"], - -Cell[BoxData[ - RowBox[{"Ng54Neg", ":=", - RowBox[{"(", - RowBox[{"signedSquareL", "[", - RowBox[{ - RowBox[{"1", "-", - FractionBox[ - SuperscriptBox[ - RowBox[{"(", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], ")"}], "2"], - SuperscriptBox[ - RowBox[{"(", - RowBox[{"1", "-", "Bf54"}], ")"}], "2"]]}], ",", "eps"}], "]"}], - ")"}]}]], "Input", - CellChangeTimes->{{3.51636244103125*^9, 3.5163624414375*^9}, { - 3.5163625370625*^9, 3.51636253753125*^9}, 3.568457440183836*^9, - 3.6266962555059853`*^9, {3.8048705985063334`*^9, 3.8048705989518795`*^9}, { - 3.804870643127306*^9, 3.804870643450972*^9}, {3.80510218636352*^9, - 3.8051022172602854`*^9}, 3.805102583314555*^9, 3.8051069467788057`*^9, { - 3.8051070550740027`*^9, 3.8051070563107834`*^9}, {3.8051071029180803`*^9, - 3.8051071048091946`*^9}, {3.8051078356062007`*^9, 3.805107836512684*^9}, { - 3.8051083995944896`*^9, 3.8051084178019896`*^9}, {3.805108473118527*^9, - 3.80510849956081*^9}, {3.805455436343891*^9, 3.8054554496062202`*^9}, { - 3.805526586754145*^9, 3.8055265880987577`*^9}, {3.805526942784585*^9, - 3.805526943719621*^9}, {3.8055435295157423`*^9, 3.8055435305626636`*^9}, - 3.805615696044875*^9, {3.80561592361913*^9, 3.8056159274991283`*^9}}, - ExpressionUUID -> "c58a4b20-11ab-4f91-b4d7-1eecc6d8a284"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng54", ":=", " ", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p5", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng54Pos"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p4", "p5"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", - ")"}]}], "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p5", "-", "p4"}], "]"}], - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng54Neg"}], " ", - "+", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{ - FractionBox["p5", "p4"], "-", "Bf54"}], "]"}], "Ng1"}]}], " ", - ")"}]}]}]}], ";"}]], "Input", - CellChangeTimes->{{3.5163624423125*^9, 3.51636244390625*^9}, { - 3.51636253840625*^9, 3.516362539765625*^9}, {3.535528086984375*^9, - 3.535528088671875*^9}, {3.5355281776875*^9, 3.535528179484375*^9}, { - 3.568456986935499*^9, 3.568457000885894*^9}, {3.568457185341836*^9, - 3.568457191564836*^9}, {3.568458824569253*^9, 3.5684588327220683`*^9}, { - 3.6266947414768467`*^9, 3.6266947420358467`*^9}, {3.8038147531532173`*^9, - 3.803814755750825*^9}, {3.803814814408286*^9, 3.8038148174901423`*^9}, { - 3.803815015440589*^9, 3.8038150183924537`*^9}, {3.803832263816705*^9, - 3.803832301427907*^9}, 3.8042498917037106`*^9, {3.8045948124087176`*^9, - 3.804594815765251*^9}, {3.8047802401956553`*^9, 3.8047802643012695`*^9}, { - 3.8047803833144674`*^9, 3.8047803863243704`*^9}, {3.804780494310973*^9, - 3.8047804971710234`*^9}, {3.805011109376071*^9, 3.8050111142712226`*^9}, { - 3.805011550402109*^9, 3.8050115576711683`*^9}, {3.8050123822102957`*^9, - 3.8050124108054376`*^9}, {3.805453860072528*^9, 3.805453881188744*^9}, { - 3.805455485095604*^9, 3.805455504423667*^9}, {3.8055298223633237`*^9, - 3.805529825723857*^9}, {3.8055435312979045`*^9, 3.8055435340910234`*^9}, { - 3.805615699253565*^9, 3.8056157030126886`*^9}, {3.8056158864215*^9, - 3.805615891278494*^9}}, - ExpressionUUID -> "e0127e99-91a2-4c82-a16d-b7d33e10c829"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["The system of equations", "Subsection", - Evaluatable->False, - PageBreakAbove->False, - ExpressionUUID -> "c5571497-8955-4b3c-beda-9786edc2a9aa"], - -Cell["The spool position is recalculated.", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.8048570859515133`*^9, 3.804857115838684*^9}}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell["xine = 2 xin - 1;", "Text", - CellChangeTimes->{{3.80485618712088*^9, 3.8048562071662035`*^9}, { - 3.8048562421900764`*^9, 3.804856266230278*^9}, 3.8048570580712714`*^9, - 3.805620122886653*^9}, - ExpressionUUID -> "d9d41391-daaa-453f-a019-9584355bb2d3"], - -Cell["\<\ -The valve areas are limited between 0 and A1max and A3max respectively .\ -\>", "Text", - CellChangeTimes->{{3.8036342377161274`*^9, 3.803634252753645*^9}, { - 3.804925406473482*^9, 3.80492543148868*^9}, {3.8049255329120903`*^9, - 3.8049255789765744`*^9}, 3.8050132961310015`*^9, 3.8050144886985893`*^9}, - ExpressionUUID -> "6e2cb804-6aa4-45d1-a7a6-46ac2e220b0e"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"A12", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A32", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A14", "=", - RowBox[{"A1max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{ - RowBox[{"-", "xine"}], "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"A54", "=", - RowBox[{"A3max", " ", - RowBox[{"limit", "[", - RowBox[{ - RowBox[{"(", - FractionBox[ - RowBox[{"xine", "-", "x0"}], - RowBox[{"1", "-", "x0"}]], ")"}], ",", "0", ",", "1"}], "]"}]}]}], - ";"}]}], "Input", - CellChangeTimes->{{3.8036342254795046`*^9, 3.8036342331107635`*^9}, { - 3.8038812411753454`*^9, 3.803881264624159*^9}, {3.8042501867423787`*^9, - 3.804250225152755*^9}, {3.804250289307581*^9, 3.8042502933444166`*^9}, { - 3.804330837491709*^9, 3.8043309198355713`*^9}, {3.8048376890103693`*^9, - 3.804837749066965*^9}, {3.80485373294905*^9, 3.8048537346423006`*^9}, { - 3.8048570727521276`*^9, 3.804857077327409*^9}, 3.8049214860616345`*^9, { - 3.805013299116004*^9, 3.805013302204735*^9}, {3.805014256632596*^9, - 3.8050142592720647`*^9}, {3.8050145583552456`*^9, - 3.8050145629481525`*^9}, {3.8050147271839695`*^9, 3.805014727816914*^9}, - 3.805543535062022*^9}, - ExpressionUUID -> "d4555a41-73a0-460c-8a4c-dd2268e49288"], - -Cell["Calculation of the Ng functions for flow calculations.", "Text", - CellChangeTimes->{{3.803634260546183*^9, 3.8036342655113525`*^9}, { - 3.8047461774905787`*^9, 3.804746198521885*^9}}, - ExpressionUUID -> "fbc6ac93-5130-4905-8ff0-27a02bcad99f"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"Ng1", "=", "1"}], ";"}]], "Input", - CellChangeTimes->{3.51635891059375*^9, 3.626691991670635*^9}, - ExpressionUUID -> "aa92a39f-08b0-45e1-95b7-8c46f8b9b9cd"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Equations", "Subsection", - CellChangeTimes->{{3.5720181646087046`*^9, 3.572018175085304*^9}}, - ExpressionUUID -> "a2916a4d-8fbb-4d1c-8b7e-bcd550214e3b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"localExpressions", " ", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"cp", "==", - RowBox[{"cv", "+", "R"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.4458556656834745`*^9, {3.535528705078125*^9, 3.5355287096875*^9}, { - 3.572017731163913*^9, 3.5720178003058677`*^9}, {3.6266954587713203`*^9, - 3.6266954813855815`*^9}, {3.6266956813155727`*^9, - 3.6266957169681373`*^9}, {3.626695850528492*^9, 3.626695939328371*^9}, { - 3.6267882846603336`*^9, 3.626788286066334*^9}, {3.805015032534855*^9, - 3.8050150348708344`*^9}, {3.805541341182918*^9, 3.805541344157849*^9}, { - 3.805542590819909*^9, 3.805542591335378*^9}, {3.805542630843624*^9, - 3.8055426677365685`*^9}}, - ExpressionUUID -> "3dce3a4d-0f1b-4201-a446-f7764743c02d"], - -Cell["Expressions for enthalpy flows and mass flows.", "Text", - CellChangeTimes->{{3.804746240036062*^9, 3.8047462706494865`*^9}, { - 3.8050234936250772`*^9, 3.8050234975369177`*^9}, {3.8050236133720446`*^9, - 3.805023619226123*^9}}, - ExpressionUUID -> "43913fb2-669a-4524-ac5e-12187c8eeb66"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"dE12", "=", - RowBox[{"qm12", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm12", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm12", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE32", "=", - RowBox[{"qm32", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm32", "]"}], " ", "T2"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm32", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dE14", "=", - RowBox[{"qm14", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm14", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm14", "]"}], " ", "T1"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"dE54", "=", - RowBox[{"qm54", " ", "cp", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onNegative", "[", "qm54", "]"}], " ", "T4"}], "+", - RowBox[{ - RowBox[{"onPositive", "[", "qm54", "]"}], " ", "T3"}]}], ")"}]}]}], - ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p2"}], "]"}], " ", "qm12Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm32", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p3", "-", "p2"}], "]"}], " ", "qm32Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm14", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p1", "-", "p4"}], "]"}], " ", "qm14Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm54", "=", - RowBox[{"(", - RowBox[{ - RowBox[{ - RowBox[{"onPositive", "[", - RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Pos"}], " ", "-", " ", - RowBox[{ - RowBox[{"onNegative", "[", - RowBox[{"p5", "-", "p4"}], "]"}], " ", "qm54Neg"}]}], ")"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", - CellChangeTimes->{{3.80383237607591*^9, 3.803832396131222*^9}, { - 3.8038324427980857`*^9, 3.8038324720249352`*^9}, {3.803838233573867*^9, - 3.803838237124206*^9}, {3.8038382723089123`*^9, 3.803838277692359*^9}, { - 3.8038383135553665`*^9, 3.8038383229626627`*^9}, {3.8038383620823097`*^9, - 3.8038384130417457`*^9}, {3.803879179048441*^9, 3.8038792169093857`*^9}, { - 3.8042446636414843`*^9, 3.8042447280930023`*^9}, {3.8043298347662134`*^9, - 3.8043298969482193`*^9}, {3.804595261524449*^9, 3.8045952702194805`*^9}, { - 3.8047734459314575`*^9, 3.8047734583975983`*^9}, {3.8047735183527536`*^9, - 3.8047735332284117`*^9}, {3.8047735897580986`*^9, 3.804773596479166*^9}, { - 3.804773639196103*^9, 3.804773641985228*^9}, {3.8050134070241923`*^9, - 3.805013489328255*^9}, {3.8050142983794956`*^9, 3.8050143323871527`*^9}, { - 3.8050146165269275`*^9, 3.805014627908907*^9}, {3.8050147520594854`*^9, - 3.8050147656028147`*^9}, 3.8050149800173407`*^9, 3.8050150486666126`*^9, { - 3.8055435357073555`*^9, 3.8055435385664062`*^9}, {3.8056161243081217`*^9, - 3.805616125929469*^9}}, - ExpressionUUID -> "8277733c-2a5f-43f8-9d0e-67696feecb74"], - -Cell["The system equations to be solved in each time step", "Text", - CellChangeTimes->{{3.8047462843423653`*^9, - 3.8047463091677523`*^9}},ExpressionUUID->"83de048e-9db7-455a-bff4-\ -09172eb1a580"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemEquationsDA", "=", - RowBox[{"Simplify", "[", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm12Pos", "==", - RowBox[{"Cf12", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm12Neg", "==", - RowBox[{"Cf12", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng12"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Pos", "==", - RowBox[{"Cf32", " ", "p3", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T3"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm32Neg", "\[Equal]", - RowBox[{"Cf32", " ", "p2", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T2"]], "Ng32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Pos", "==", - RowBox[{"Cf14", " ", "p1", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T1"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm14Neg", "==", - RowBox[{"Cf14", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm54Pos", "==", - RowBox[{"Cf54", " ", "p5", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T5"]], "Ng54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm54Neg", "\[Equal]", - RowBox[{"Cf54", " ", "p4", " ", "p0", " ", - SqrtBox[ - FractionBox["T0", "T4"]], "Ng54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dE12"}], "-", "dE14"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE2", "\[Equal]", - RowBox[{"dE12", "+", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE3", "\[Equal]", - RowBox[{"-", "dE32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE4", "\[Equal]", - RowBox[{"dE14", "+", "dE54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"dE5", "\[Equal]", - RowBox[{"-", "dE54"}]}]}], "\[IndentingNewLine]", "\t", "}"}], "]"}]}], - ";"}]], "Input", - CellChangeTimes->{{3.516357230546875*^9, 3.51635723375*^9}, { - 3.516357406265625*^9, 3.51635741015625*^9}, {3.516357489421875*^9, - 3.5163574921875*^9}, {3.516358561203125*^9, 3.5163585623125*^9}, { - 3.5163588638125*^9, 3.516358872546875*^9}, 3.5163622335*^9, - 3.516362283375*^9, 3.516362316140625*^9, {3.516362447*^9, - 3.51636244796875*^9}, {3.51636254234375*^9, 3.516362542796875*^9}, { - 3.53552809378125*^9, 3.53552809640625*^9}, {3.535528183453125*^9, - 3.53552818775*^9}, {3.5684570204198475`*^9, 3.568457022761081*^9}, { - 3.5684570541492195`*^9, 3.5684570555233574`*^9}, {3.5684589588056755`*^9, - 3.5684589653553305`*^9}, {3.5720176679082947`*^9, 3.572017683947212*^9}, - 3.5720179338355055`*^9, {3.626691880745544*^9, 3.6266918864211116`*^9}, - 3.6266931723286896`*^9, {3.6266937584923*^9, 3.6266939161240616`*^9}, - 3.626694036263074*^9, 3.6266946351268463`*^9, {3.6266948812055693`*^9, - 3.626694912361685*^9}, {3.626786603246106*^9, 3.6267866300827894`*^9}, { - 3.6267867846422443`*^9, 3.6267868052153015`*^9}, {3.803813600915059*^9, - 3.803813601819543*^9}, {3.8038136362489204`*^9, 3.803813637479523*^9}, { - 3.8038139397390347`*^9, 3.803813963431733*^9}, {3.803814574885434*^9, - 3.803814604078475*^9}, {3.8038147583283463`*^9, 3.803814764137517*^9}, { - 3.803814820319522*^9, 3.8038148306362686`*^9}, {3.8038150195607843`*^9, - 3.8038150256887856`*^9}, {3.8038323443356476`*^9, - 3.8038323669093623`*^9}, {3.803832485537998*^9, 3.8038324962919044`*^9}, { - 3.80383837399702*^9, 3.803838378510364*^9}, {3.803838452862671*^9, - 3.803838477349411*^9}, {3.8038788068094063`*^9, 3.8038788579816217`*^9}, { - 3.8038789114125137`*^9, 3.8038789130618067`*^9}, {3.803878944596278*^9, - 3.803878978978812*^9}, 3.803879232824969*^9, {3.8038792848812723`*^9, - 3.8038793326220284`*^9}, 3.8038808992640285`*^9, {3.803881076163557*^9, - 3.803881084063407*^9}, {3.803881119528825*^9, 3.803881122846402*^9}, { - 3.8038812060086203`*^9, 3.803881218326913*^9}, {3.80424450481032*^9, - 3.804244531639645*^9}, {3.804329927870107*^9, 3.804329931581786*^9}, { - 3.804329985944465*^9, 3.8043300445859423`*^9}, {3.804330086104957*^9, - 3.804330146425871*^9}, {3.804343144266903*^9, 3.80434314577536*^9}, { - 3.8044052563621235`*^9, 3.804405260508961*^9}, {3.804589635428796*^9, - 3.8045896435873804`*^9}, {3.804594218155691*^9, 3.804594220578191*^9}, { - 3.804595095221991*^9, 3.8045950982268934`*^9}, 3.804595345574751*^9, { - 3.804773459491471*^9, 3.8047734688308353`*^9}, {3.8047735355570073`*^9, - 3.8047735482868767`*^9}, {3.8047735971185064`*^9, - 3.8047735998317075`*^9}, {3.8047736429182663`*^9, - 3.8047736460290556`*^9}, {3.8050134971542053`*^9, - 3.8050135412951593`*^9}, {3.8050143397793303`*^9, 3.805014393142315*^9}, { - 3.805014633479599*^9, 3.805014668161903*^9}, {3.8050147674940705`*^9, - 3.8050147795306587`*^9}, 3.805014943651765*^9, {3.805455568669397*^9, - 3.805455634417577*^9}, 3.8054560708467517`*^9, {3.8055435392706795`*^9, - 3.8055435675095215`*^9}, {3.805543600949027*^9, 3.8055436403963375`*^9}, - 3.8056161412056923`*^9, 3.8056163240720615`*^9}, - ExpressionUUID -> "cc01b7ab-0e24-4eb8-94a2-02519e9b1d7d"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Boundaries", "Subsection", - CellChangeTimes->{{3.8050179915385733`*^9, 3.8050179925094385`*^9}}, - ExpressionUUID -> "c9b83533-6c3b-4ba2-8e82-200441668409"], - -Cell["The boundary equations for transmission line ports", "Text", - CellChangeTimes->{{3.804746317156512*^9, - 3.8047463535379844`*^9}},ExpressionUUID->"db41c331-92ca-48f4-a665-\ -2783204ff18e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemBoundaryEquations", " ", "=", " ", - RowBox[{"{", " ", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"p1", " ", "==", - RowBox[{"(", - RowBox[{"c1", " ", "+", " ", - RowBox[{"Zc1", " ", "dE1"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p2", " ", "==", - RowBox[{"(", - RowBox[{"c2", " ", "+", " ", - RowBox[{"Zc2", " ", "dE2"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p3", " ", "==", - RowBox[{"(", - RowBox[{"c3", " ", "+", " ", - RowBox[{"Zc3", " ", "dE3"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p4", " ", "==", - RowBox[{"(", - RowBox[{"c4", " ", "+", " ", - RowBox[{"Zc4", " ", "dE4"}]}], ")"}]}], ",", "\[IndentingNewLine]", - RowBox[{"p5", " ", "==", - RowBox[{"(", - RowBox[{"c5", " ", "+", " ", - RowBox[{"Zc5", " ", "dE5"}]}], ")"}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.535370830684037*^9, 3.535370830684037*^9}, { - 3.572017824436248*^9, 3.5720178479275913`*^9}, 3.8036343375137377`*^9, { - 3.8038147645287867`*^9, 3.803814766449218*^9}, {3.8038148317046523`*^9, - 3.8038148345849953`*^9}, {3.803815027032193*^9, 3.803815029415818*^9}, { - 3.803879036853116*^9, 3.80387905140011*^9}, {3.804246374831381*^9, - 3.804246378656437*^9}, {3.8043301576482954`*^9, 3.804330166016487*^9}, { - 3.8045893035121727`*^9, 3.804589307920622*^9}, {3.804773470114512*^9, - 3.8047734720625024`*^9}, {3.804773549431696*^9, 3.804773551532529*^9}, { - 3.8047736008256826`*^9, 3.80477360307736*^9}, {3.8047736469980555`*^9, - 3.804773649187797*^9}, {3.805013544678584*^9, 3.805013546143323*^9}, { - 3.8050143972486534`*^9, 3.8050143996627965`*^9}, {3.805014669485262*^9, - 3.8050146717632275`*^9}, {3.805014785109968*^9, 3.805014786482767*^9}, { - 3.8055429199643965`*^9, 3.805542931543451*^9}, {3.8055436774251413`*^9, - 3.805543684657682*^9}}, - ExpressionUUID -> "096b47ac-1067-49dc-aae2-345c4e0b0101"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Independent Variables", "Subsection", - CellChangeTimes->{{3.6267881656593337`*^9, 3.6267881959573336`*^9}}, - ExpressionUUID -> "7aee13e0-4e61-4e17-a44c-47e7f85d055c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"systemVariables", " ", "=", " ", - RowBox[{"{", - RowBox[{ - "qm12Pos", ",", "qm12Neg", ",", "qm32Pos", ",", "qm32Neg", ",", "qm14Pos", - ",", "qm14Neg", ",", "qm54Pos", ",", "qm54Neg", ",", "dE1", ",", "dE2", - ",", "dE3", ",", "dE4", ",", "dE5", ",", "p1", ",", "p2", ",", "p3", ",", - "p4", ",", "p5"}], "}"}]}], ";"}]], "Input", - CellChangeTimes->{{3.572018112971751*^9, 3.5720181129797516`*^9}, { - 3.626786645653346*^9, 3.6267866499337745`*^9}, 3.803813603425622*^9, - 3.803813638726808*^9, {3.8038139419706807`*^9, 3.8038139645842676`*^9}, { - 3.803814578963583*^9, 3.803814605431775*^9}, {3.8038147676781607`*^9, - 3.80381476850732*^9}, {3.8038148358126736`*^9, 3.803814837399825*^9}, { - 3.803815030231347*^9, 3.8038150317115126`*^9}, {3.8038790662348075`*^9, - 3.8038791482881703`*^9}, {3.803880885646076*^9, 3.803880907960059*^9}, - 3.8043301822193403`*^9, {3.8043302232986097`*^9, 3.8043302623110247`*^9}, - 3.804343165556447*^9, {3.804589672114957*^9, 3.8045896926008244`*^9}, - 3.8045951053705225`*^9, {3.8047734729745693`*^9, 3.8047734734310904`*^9}, { - 3.8047735524345984`*^9, 3.804773553131879*^9}, {3.8047736037776375`*^9, - 3.8047736042091923`*^9}, {3.80477365010585*^9, 3.804773650935993*^9}, { - 3.805013547936124*^9, 3.805013569966762*^9}, {3.8050144015004883`*^9, - 3.8050144049803495`*^9}, {3.8050146729333415`*^9, - 3.8050146763132105`*^9}, {3.8050147876557636`*^9, 3.805014790943303*^9}, { - 3.805542938271511*^9, 3.805542942279377*^9}, {3.805543543906898*^9, - 3.805543544390399*^9}, {3.8055436458097534`*^9, 3.8055436733203783`*^9}}, - ExpressionUUID -> "fe51b2c5-a53c-4507-b908-0368ca8c172a"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell["Expressions", "Subsection",ExpressionUUID->"10c249fb-6d63-498e-a531-ba636643e74d"], - -Cell["\<\ -Variables are calculated that are not directly involved in the system \ -equations. The inlet flow is calculated as the outlet flow with reversed sign.\ -\>", "Text", - CellChangeTimes->{{3.8047463779198356`*^9, 3.8047464099747696`*^9}}, - ExpressionUUID -> "42d118ef-f168-49d8-a2d9-b82ec1237dcd"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qm1", " ", "==", " ", - RowBox[{ - RowBox[{"-", "qm12"}], " ", "-", " ", "qm14"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qm2", " ", "==", " ", - RowBox[{"qm12", " ", "+", " ", "qm32"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qm3", " ", "==", " ", - RowBox[{"-", "qm32"}]}], " ", ",", "\[IndentingNewLine]", - RowBox[{"qm4", " ", "==", " ", - RowBox[{"qm14", "+", "qm54"}]}], " ", ",", "\[IndentingNewLine]", - RowBox[{"qm5", " ", "==", " ", - RowBox[{"-", "qm54"}]}], ",", "\[IndentingNewLine]", - RowBox[{"Ng32e", "==", "Ng32"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng12e", "==", "Ng12"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng54e", "==", "Ng54"}], ",", "\[IndentingNewLine]", - RowBox[{"Ng14e", "==", "Ng14"}], ",", "\[IndentingNewLine]", - RowBox[{"Bfe", "\[Equal]", "Bf"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellChangeTimes->{ - 3.8038147721570067`*^9, 3.8038148386372843`*^9, 3.8038150328018894`*^9, { - 3.8044053445348654`*^9, 3.8044053558825912`*^9}, 3.8045897102436247`*^9, { - 3.8045950711847854`*^9, 3.8045950711887817`*^9}, {3.804595468509948*^9, - 3.8045954915521746`*^9}, {3.8047734745419445`*^9, 3.804773477071336*^9}, { - 3.8047735606900826`*^9, 3.804773563590092*^9}, 3.8047736049903865`*^9, - 3.804773652044851*^9, {3.805013572903577*^9, 3.8050135830580597`*^9}, { - 3.805014409309025*^9, 3.805014413554208*^9}, {3.8050144456841593`*^9, - 3.805014449480112*^9}, {3.80501467925416*^9, 3.805014681460928*^9}, { - 3.805014792817201*^9, 3.805014795795804*^9}, {3.805023988434838*^9, - 3.805024032501109*^9}, {3.805525309275005*^9, 3.805525309771493*^9}, - 3.805525497428443*^9, 3.8055260034368134`*^9, {3.8055429500503626`*^9, - 3.80554300919835*^9}, {3.8055432275081615`*^9, 3.8055432693160367`*^9}, { - 3.8055433007486143`*^9, 3.8055433082119155`*^9}, 3.805543350397403*^9, { - 3.8055434849805794`*^9, 3.8055434916496983`*^9}}, - ExpressionUUID -> "52249328-bf8f-4534-9a6e-18460255eed0"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - ExpressionUUID -> "f9091d30-60b2-4284-8990-0c9fbbe94279"] -}, Open ]] -}, Open ]] -}, -WindowSize->{1159, 776}, -WindowMargins->{{300, Automatic}, {90, Automatic}}, -PrintingCopies->1, -PrintingPageRange->{32000, 32000}, -PrintingOptions->{"Magnification"->1., -"PaperOrientation"->"Portrait", -"PaperSize"->{595.1999999999999, 841.92}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb", -ExpressionUUID -> "aabbf272-7e04-4538-a8f6-5461d068751a" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[580, 22, 426, 6, 70, "Section"], -Cell[1009, 30, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1367, 38, 203, 3, 30, "Text"], -Cell[1573, 43, 529, 12, 30, "Input"], -Cell[2105, 57, 788, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[CellGroupData[{ -Cell[2918, 76, 1933, 39, 183, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[4854, 117, 4185, 60, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}], -Cell[9042, 179, 378, 8, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10001.}] -}, Closed]], -Cell[CellGroupData[{ -Cell[9457, 192, 98, 0, 41, "Subsection"], -Cell[9558, 194, 1098, 16, 68, "Text"], -Cell[10659, 212, 16060, 200, 181, "Graphics"], -Cell[26722, 414, 2486, 53, 215, "Input"], -Cell[29211, 469, 646, 13, 69, "Input"], -Cell[29860, 484, 3298, 70, 297, "Input"], -Cell[33161, 556, 1846, 33, 145, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[35044, 594, 149, 3, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[35196, 599, 229, 3, 30, "Text"], -Cell[35428, 604, 307, 6, 30, "Input"], -Cell[35738, 612, 374, 6, 30, "Text"], -Cell[36115, 620, 1977, 53, 170, "Input"], -Cell[38095, 675, 738, 14, 88, "Input"], -Cell[38836, 691, 249, 4, 30, "Text"], -Cell[39088, 697, 191, 4, 30, "Input"], -Cell[39282, 703, 1192, 25, 74, "Input"], -Cell[40477, 730, 1145, 24, 74, "Input"], -Cell[41625, 756, 1449, 42, 94, "Input"], -Cell[43077, 800, 1246, 26, 74, "Input"], -Cell[44326, 828, 1188, 25, 74, "Input"], -Cell[45517, 855, 2213, 50, 94, "Input"], -Cell[47733, 907, 1246, 26, 74, "Input"], -Cell[48982, 935, 1195, 25, 74, "Input"], -Cell[50180, 962, 1454, 43, 94, "Input"], -Cell[51637, 1007, 1368, 27, 74, "Input"], -Cell[53008, 1036, 1363, 27, 74, "Input"], -Cell[54374, 1065, 2338, 52, 94, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[56749, 1122, 149, 3, 49, "Subsection", - Evaluatable->False, - PageBreakAbove->False], -Cell[56901, 1127, 229, 3, 30, "Text"], -Cell[57133, 1132, 261, 4, 30, "Text"], -Cell[57397, 1138, 374, 6, 30, "Text"], -Cell[57774, 1146, 1937, 53, 170, "Input"], -Cell[59714, 1201, 248, 3, 30, "Text"], -Cell[59965, 1206, 191, 4, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[60193, 1215, 158, 2, 49, "Subsection"], -Cell[60354, 1219, 822, 16, 69, "Input"], -Cell[61179, 1237, 293, 4, 30, "Text"], -Cell[61475, 1243, 3797, 101, 202, "Input"], -Cell[65275, 1346, 197, 3, 30, "Text"], -Cell[65475, 1351, 5330, 94, 573, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[70842, 1450, 161, 2, 49, "Subsection"], -Cell[71006, 1454, 194, 3, 30, "Text"], -Cell[71203, 1459, 2041, 40, 145, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[73281, 1504, 173, 2, 49, "Subsection"], -Cell[73457, 1508, 1701, 26, 30, "Input"] -}, Open ]], -Cell[CellGroupData[{ -Cell[75195, 1539, 88, 0, 49, "Subsection"], -Cell[75286, 1541, 303, 5, 30, "Text"], -Cell[75592, 1548, 2147, 38, 240, "Input"], -Cell[77742, 1588, 122, 2, 30, "Input"] -}, Open ]] -}, Open ]] -} -] -*) - diff --git a/devPneumatic/PneumaticValve53.pdf b/devPneumatic/PneumaticValve53.pdf deleted file mode 100644 index 81ea9440780de139fdaded3fa34887af6d4023ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94415 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%0Ayk#gd3Ft{ZP4tfX@si{aWfho zcHIWmR5@SKvxv6%J=|Km%A~Gxkg^hZVNIQQDW+I9* z4&@B8g8U03;S6nh#}49-=+yKW_bz`j!Ak=pay{PartwN(%;cU*HT2AXuOQJkZ48DS z+{3#c8{kC05dfgL2g(=m1qqC*-}$|1 zdnCC}p$}2kGl24iWqds=85*{HZb@H_nTo^1WA)OO1;>3nzyZm4R zff6EE>Zg9&x+*9rAXKgtQ{K$JH7Ta3@Dq&RcG`&Jos=V_u^}zSgBPV3iTqk`;O+j6d+z=!c6-OzDC^ zh5CgS($(jz>X#_!kQW`GG_BXUj$^m;W{x6x8uoPHjTLCQfeJE1+hscFYn$A>_hs&_ zfv}av^!=NY*~%(0@{--@3dHybcN8oo^%1rd+^M{!EX&q^wMu9uw+d+& zb>(~xJxPyZ%^df%D=KfImQvpbA3?R6!J#2m-PXHYUUOWIxCIPxs&i<&uuN^9E5m$V znBCKO2M_fiMXKK6Zj5|eB` z_=qh2Ve{>`o|DjNUUaeW0qQY43&-IT%`Laqp$UR=1`cv*_m~c-z9q`89I56blpiig z-vmOHT#K8Ky&4N**lS90^kcYNwc4qi!n%7}v3xYRZOjeM;Yo0q=iwTA{QlcIpf^oI z`M$si5MCCHG)X_>)LMthSZAGbI=#g;XwqJgt@FBrrL6JOXrJ@ubuXegc;ZEPFx86p z!ubn1GL=hh?eQCM4@9J0Ha9_n^3KyQduja`h|h=E?tT)eZ54zA7`(|@no4Wq+se{X6Ct_0op zPz-@ES}MYtm($rvb<|M`CL2}!(}*~jaT%XSh}e=_@Oyt)=9b4u+^V|uMyGx-wW8)* z|K4KCZ5Bb2RsU?`jWp^l-DZ!CpwwX6xEeX*b(O!h zex##(V8M{&>S**!q7;^)oQO9+_j)*nRtD|18w@c{aP#=SLLxSES9Mn?dAmlGoT18Z zOuuB!G$YDLn2IZ1p4$?2qxP@`!!#KoyG=VjXpAN)(D#kr-uWDSG;^s>_|E=r?b2_zy}$$f)z zVd@bpcsY-0zAcDaiKz2&Se5RL?zW;sF(@z;1F=L2`Mm_jjM*Mkd>IZsSOO|!*yewz zA?%vZp*vVp?)AnbLBzn#jU_FHVagC}-EgE0-oVk1NOZCFU%~-6&7+AO4^>zacaVXI}V)T24JS>GeWANw+d0j>^dQJ4c1Io$<7% z>aLDRr3C|J4e+o%wcM)tuBJh)4}hSi3H4Npw)PAGU|$8X#SX0H0fGeK=EwR?ohLuSsZkJBSiuP7A{MFElJ0cE_Z-;e(f z08v1$zkPt2{^2^*==lC=fxFdU4lzCF$F^KQn2`635ySOta|0Y=pE)%AMsz)MK;()l z1uWokY3RfL65fIma(@Y`f86Tj>r7mZu|yXh@p;$0Qs6lBxG^bsl%6l)Er?Xf{UxOS z5~?dBnM?14`(}1oL5WWb+>@WW_plSWX0prR%{;lHe=Kl1=4mIUxSQ6-@mWg_colPY z**jgj!JH_c!cYXtPUy}BK%kDRuP0qcDLc)MRhz>|7bOvkrixTUXHk3I#)MaSn}v{U zSL53>Bze$!@1XS#4I|RO9F{Az)q|!V*YJZ>a-MyWeYefgmt%I}QP+Lw5H>{%N=a#> z6)&oynC5tTS4nvzFY1a-;0p2=Djg+vSJ22lZ$1bL2Vg8GQ%ZDem$7l7CNpU-^{()cnMILi|dJYa*?&&bF55 zm?@4chUxuWcs8bbOx}xZS&}Oxv%*8oTaUyUSg$Yu`KL!v@nVn)T*GWw1N(iVs@aul z%AU?&pw70J*sJaJwrZ<9hcN99r(^n?x}7;y>ryA+A3e5?(T@YH;a@E6=LCU>k|Zdq zDr>r~TDA=^Wx{p=c@y2)bJLfprYG@pTapu!?e(Sv$u9_!2l~0f@PM)4kwI3cRM`(d zM*@MmB0t8UwXo#nWz*I@2CJUe&~;gsBto$0HBFBPss59efjf+)#u|eIZhkhcCMK)+ zD)lCnsNG~nTA6I)tL&R>V$&nd5^#sGR9GW$0uG0Ef3qLoqvFI&DH{!_--Y z7mse063#_0Tr4iU2zTFUCg=m@?(E@h(op)CZD=If<2*k9#Qe`gg+I5mN4Kj9K7m*m z8gvVw8G6%qc6ysoEqp-+Z1pw4OSidx4+?+ayR6-XI{DH1KmC>B2486S2p?==gOgkp zhbLtA?s>k2Z+L$9%Ag6H@-?-6*x&whAkAtrV$EF33ddR2DxC|++=OG zh-LAyxGJGNj#rvlG|c<#p`e30YVY^Od5xwn9RJ@_7q+*C(lCbqz~rFegcYhY^3{L6e5@4lHguf?d@z0Hdt~_*;#p=pbgguZ=(>t zn6+WCU%_UiE;2Ndjx3Elsy}8tZ^%)j+USh*MED48i;`$bW07odx*1n-fTa9Bo`WWR z+>iZPpVO4PT779gAHEB@%^J#qc&#;5!6S~`hgs`xKW$_qYvokDq;V6%ku(eaqz&4t ze%8v>EXkpawR3GQz2P4Kf@q8Tb5Zlp+!p_sS-dokzKgZ_Q{l)yya$z{lUPN7_6z)8 z)VyrAPJq^7)@5(1x1B~fn^_tgbO4Kt_$^yhBvBTLXer(pvPCn7LB!UqU5i2RqUEt2 zNDcaEn#AC)C7h_5-CR8k3+xPwhI*%KlEWH?HIC@-oou%a>mJ?MQk)t>io6=HG~q=Zk(vH2fP; z?}EF2E5^O6RbZiPmKi-_q>~}tILz4(Jdt2_Xzf*md|o&M|?T^ODWFSunZ4Hk!l_ z3~W1E)QN2~b8h*!b!Kck3_4VhV0}v$OR#qOCi^LO6zr%l-sR-HM5)4nmnI2cu+gO8 zH{$g-rhK?u_62q93u-W4>^P^PhTwoymtcW<3KnEl2P?uMn(Go}`7I%q-xBgNlRNLs z4zacf<@2dS{+#ih%WMhhbX0_B=8HkwAsfOyAsm_%r41gW2`|F6cqd z?&gN>T*7HVkvSDx+SF13hDvU;BtRW2Z4~t(& zrmGkDr^PQP^Mv`zrT&h1PsuyNyS@)2ANfA=e-ZjyxYicWLF~`#=nNAW_OM|zG`5ALu=6H94Az&|D;Mn0t z&fkC2yH_uI=a!BK>bCbKUcCC6A3t~fswZy$(Z*9xJ&w8cQ%4ieSL2EIS8x98zz4tD z@8Iy;0f(0W&so58UdD6RV?j5|g<--tL1-!IEFmQ&W$}jiS#ioq;wT?wtMh~BN89Cg zW2V_2yg0f@UScdTuMA!p?J0R*{~+{1 zJ}CMZ|COa%0S_+{;5oolz;Yg7IcosR_483U&qrmg;qt>8wzRa?p{>z)hkrB{H`Exv z&?z4*_Mo}$Y|RZoYt+BMCWA0B$EJy_#5QqZn}fW8i5igCO%~=|?445<&J2zQ&Sfqx z2hJm{Tm>QD9kI^1)`c6o)(b+{-T|TOFTWYO4ztj;-w9n8pFI$`7lf|axnqpm@|Rra zwv)&=Fo2C!%M)OpMvume4$p}aaTE7)f-ULf?iG`Og_31eoIljhad_~vUCXy#vSnF1 z^N&~dEhddK?!D&4A76dVi^871f88_ro;O!yzR0}yL;S$2Gd3K2>+petpzDqR)14A} zK$dzK4pIA^_c=m!)dg}1)g92e#O-uxE0;Fx#>M{%)iKE1&IRT6ani5zo{}1 zpwe7&l*@KK>T3R6*aO8`XL@p25Hu{qe7UT6*2Pg>NE@aDK|J(c0!|2Nfd~<84{pY{ zA(lQ&M}DF5ab~f#P#=VAB;}0hSQ_f4h-pDku&&U2@D?ztq6eKQCA73CO2dW^AJITg zb&Y;|`h$P2TghL4=IWA{&wg_b%H_t2m0+(VxvN;b@IK@#(D#Kdd2a!27tlooSS(&Z z#|r3Z0Zq%hLoi-I#|r3Z0bLlsGzw@>0c{r0zJkz!RX}?SXuE*+6^MsIQQ1! zrMSs%t{Y&8|4L8PjK&K77=KLpQ|P0F@UCz&K|*pOsf1$*h2xUNaWO!>{b1=OqY+Cz zT!A-LY_1>`p-|LQvB}0Z&$JcGFtZteV%o}|bBKPL4$&cP6Q;9R@XBU+0Jf7FQ>eMR zar^eLYw+ju6vH{8W3+}VHpOs^Jt>xdQj9$*MkjUH^hq(6_#0E{li+N|k!&#r*kW$( zK@1+X6Oo3b`;eqNtdcpi%HNu-z=sjugf=5WV{DTVN0D$2D_c(1nllxJA?9Gtaw@P@ z{cIRHK-mf2ManC>@v7~mXAcaNID*SDS_@9H;7NgW>zg!g{@9N}Vo{?CklRG7*Xp$$ z51*TstowbHe%+2?uMu$5l3nk_x1qQ@7*$J+s?-$L0u0n?64=DWY(iY#CQh}q46uuX zAvPVTU|w87Lh}>#&n&v;!IB%_{Lu^Ble5oU`h%{S^Uhy8im$wX(ws|X?%A@luZsL| z$(&L5Ki&5r*|uuclt=FEd!LT$DS-QWVO&SaTsp4zp^)owqOvc?8;VPqdH0Y@P_?zY z-~XR(^xR}(la6@ml;IHX1ymP~^8hablFZ`tx&vz%#BoBuEF0tCI|o=S)Y{)(Prqzl znWE#8_!!@q&@|t)P=~K0^eB0hd&GF!dYWSVh`NX@(sgXjJ`wJsqWDApnkjl z7s7eU=9pKRH<_HtqKlP7*(_HYU!+WS6znqvnWl#N>llZsvxz_7hLC2fS?*yD5KmbQ z+HF8Fl>Izk43%rC5{wbXIPFQXHp1x~v*UEG)$nj93Y~ycO!ual;ys6{+bC1F=f(r> z7zw!QDUb_Zm$nAV4@sC}Mv`-}vGFIdY$?eNPUl>7G%y}(?DyF?s=2^{vwXs|iwdUA+~FnfKi#jy_1=SUsc>C17LfgHW|nsWzcu z>N)6awH3FLHhHFU8NQ4xlou+i(D(57$hGn+<$LNnypG(?-6`E6uUCGE9#ZaAUqnx; zub^GhR`m_^3-tr^uKIWM7xff6q1M9ds9_XTt5KyoLY<7#sv@Ml!A1dOd80dX72b!w zI-&`cX_H0H5Hm_>ThMbX!I8EKJ4*yX*Jz^Ehbd?q_#R9hOrbg&Eu!s{9-&IIT%o9b zMNtu#kLL&~h($$~Y4}D`6%JvcPRDwgoKB~eH40I>acoCgSOZ81sI-zGXH?Ou|byP)&Gau+ww9ywo`EWnpxVEduiw)$YKu| zznod}(_|}d;FJiMEw*#ZeY@z{``NJ9ldk(TGW>nUI{8~h=fcu@n?iX1~mU3hw zo(Qd!L?kLKg+dX2>0J&ebS9O-3&Kc^ZF8rwvB?Xifzf0T?%uJ3+F#i|goHLWXU{{{ zGgMau5}-d7Q7u4MO2K)dfad#cbJ^7iBJbL{vK#Fd+%!ulCb|)NzCTz^boV6gKiNOO zCg{R)Jx6G6P+nDYgy0g2$E}8YMsm*VYQ-KCuoIyfV>!Y>LWJ^f8}sYv{rRSK)==wm zd4bYl-N9|L-VhFmJ=SqclZ7@IcvGweTBr3-{h!7^JqoY$2JhiC7&knx8y;DdBtY4` zEb4SN67?vV&O!;2?uSc+ zy?O%8m$(b2@Q3&#Jh#c2T$k3S=snUAo!bP1gdSU_bVwpMNoznceBXTUcg_UI2z=pR z7~l(F%HCdJv*u`T%duvQPCTR|BXxtthDItk+nM_B*IE1bd-m^NCpddBC?<4j1A~TL zyvfPZ9uS!*`y~qu;^hO!)VHwDR$1)kPD|@cWEo*zh8JavKQu7Oz-BilF%9gMa=uco zvPzUV((oHH^TVI?J^IA^_`e?>Ulwnm?n}HcGnUN45A6QlT^oS?S7)Y@4&iNNFWNuc$i`sb$zBj2bkZ5iiHU7Tri612 zQ(Q^x#t~o{i4qM;SQsC<|JM^|?OS_o)fq{^c$umD@R!*0`3HTc4!5m;VDBrLl1#!G zxBYdxhSf>0Ce;>ER0|`oLTjZy4hA}I=t7Tk7kj9~AeVRiWmhf}`4|i9c_{ccRh7=R zDDe=_i{4zlX@h>N?$}h^y8Du#Y^y5a(?C;AEz-9Z1YFq}RoAWEH*4ad%v5|7|7qXu z2iDK}?Ww*GKF|CkBU8Ujlt#`#E~v;LaYwW2{V6PlJM;t>mWVE)oGZxonppsOh4T zM%6XxRcDTSZn}Y!O@c?H4JlogY?RiN4wE*S#92ti--w7s5`-g8nhBFW$96L5v%}Mk zH?kE8{!W8B6qzwIq}lq|Vg|i+qWNUA8&O*~B*nuhHBHlvu^ZVxZu2%7-Pw22T0;|8 zHn@r7i;9}*E!w~op;?7~J*_qAYo;{m>B=U(EDrm@O>986eV3VnK>z8yB60@l=IVFR zspLrKUAIB1p`qUK8`!18a0AO>2$172FlYmO zcn^6RMaY7*0<{yMdWLtvG6UWL4w3$42D~fgB(6%31WU_JtdR!%NGkY|RPZBdMI~FC zpc2#EeNstt@agX>Hw_MVV=yDpIdQYn~>m~M3XjZ(c)!vISWumd{Q?|m3i+>Gd{?f_%z6fgv0TG zlMOEvOnd@vsc-t`+$Xx)z=(clUT&!iy4Hn6w7X{`C z^Yq1mmBLE>`hY0}bU@x-P|hZi0fl@s&nuQL=6IIRCCea2bzL#Q1l0XLuQw13g~NgF zZ1Z+tf&|^`UYqXIvjVb`ps8C42kM6fSuPHQ{eeK(t1C)zzzd|;)=e{E*?!Biy^1b} z1A=K=IwDXdfeTxvsW{dF346V^jpS%36tzYxcq&Rji%mrV_@0g+WF4(t=!~b7Xb19nE;sVe!#TNtA@L? zC+U!y&{+Z3Y6?@R5H-J%gR(sR7q;tZAx)F2KvaXwUruKseoJb{(uVGp1=?kp1mqm1 zf^VVi0z0o`!Xz=pRv7;%bN%Z_%A+Gy9Qy3HlaukmAOAda<=)I&RZ_^Gc|+Lqb<2bI z|E-++V_!7$_kV8a;$Hr0Jm0=CG5_pSPcfNJ*On<2oOv1;d3#&*Cl*< zK1gO51qL?rKY%Wv@;~lTivxkUmo9pwnLJ+{H#`_gVVWvI!BNMSYNDJ^4S0RNH$A4`L&~2KKkYB8INl8#W^@OeC-^#hKa4+P9O&-^=a!}PKhHB3J5-*J3AbjDNN zH-tP$c3)|rlyjyiNHl~vp%W%yx0q)z>`-EL7x_n@#a|bR+BR$`Im4~y1aSW zKLSKONN2B#xQO59tMICRH~_F_>lK>n*EH2fr)_E?y#b0_aZ(q5HBRE)q-BQ*Et2+k zlj&)##hdn$Io?;j#M_O}+G*l4G%lvnORUY(34N$OS?8wcS)D)!oVC5qgcc$#U9rUK z%fcyW!ai!$M#Ide4O=IUMQB8xg!0;mXv)6+m!%a^rzY?PhsDNLrA# z;eKhm7j*8YNXvdoflph?1=;@WA9s#uQp-j(fjRc+jzE)L7HD!H_A)wCuswy_+rEXO zw?;S^EopU0!~_G5wI=f?IdgZaoOu%?m|)KNmgr(%$+DaLr`I;06S6A>Epx?dAEwGm zQh({nEE!!sbaiWE=JMyQ>hjoPvxu+md-&?LtFIx8PyKSsS#8stxcWqp$pOIGMW_b< zwE$_Cn79Pb!5ofN7pDzu7=EERCX^NX4Ye4f3X6I{*xFxKamZpbV;Ig3F^7F9w@}x? zcMe*=aD{C<_105iJ9u#fkCoDav5~QfS>EZ1#oRn;p1jCAFR@a-I)0mcd;C55ouDnT zl=~_-(>_UO^u{Pv$}Z4qO)&^mEQa5nLq#n`*lr~;#ky!m#Q;fLQ6On63M6gC3X4fv zu(d5P)!^NZvxGWpQ!UtNBexg3qq^9IYQH zNqbsDY&uwoCA5aRN%{6vekm^pTNg^^UI%D1fDH|n7sI>h(s5l?iDaVGP3LC(L$P*S zYzM}IYE(1nYZx(q8I!(#BjzlJ6%+cUZ@nXTvBZ*7=~{6VO?z`w!fZA{EQtLDQkgro zJzRV4;?~hKE+M1$UEbCAy~DTuDRb|4{QI}-dvC-O@M`@0&z^hj>kr#sXzTvbLtC~$FU>^=?7C;6?Kdz#hiAWmdH6?U zUIC+;s_>x%^NMb);5b6NWinfjk0Vi2UZMOAO$M%0Ky$^q6rH1!FF`9|rj;66a^6l6aiWwQ?)8qC%k9{h>76j# z+|Awm&pY|AUfOtn#+y0S{ri{jXZZEUn0_%4;{F@-i$zk7onZ9Kc`HA!Na;VxeM9&M zOst7KQA8pdDpGSozb?h_v(4oEF4K$6vPhFiW&M;$(=77={sH-6&m(4!&?ELpZ<&gj z4mJTYQ36KP8iq${Yw_KhT<5)zZf@=P|6e$F_5YfkvWT~EKj9!BK9uqY}5&vBY*TA=>1 zX&RP>kwOfO(=Am5eWY3k&;f;56-eNAcGBo|U_Uiq)6&aZqAEdhVk#(Z?WCcP}w#KD&yZ!2xGSh7Z- z373^NDd~8VE4tg*a-}I(rUNEo%}0Y1(78;8Q-39Of;3><5Te3+1W-w?3Y+-W%)@_r zYDm1cV*Bqh_u>s7elRNYS5l2L|2cc;Sq-N$df%_{d2N|?x?1rxkkt{8)ghEbL&<@D zY2BrxSn&|HfS1olW(*nPEiD#>>SC`^tgzTAU1@PATO2H9Ix}V2x-8BDo|Ir0%`oRW z7CE;RmlyP0d4NUJ1MH3gCg=nGD>4pT?vZ+adUI>j(Hib5cD&`eiil1{jP$?3wJ5V z@QO~lJ|4Mzd%0Vv+$~h@E-hKUBH$(iB?9RH32Zv;b=MYP1^^4{p2*t+c^3}=H`bKS zidT8%Qg>ylaOVLua zvS>MRrjUS0h&2HSt8r*+#4X!a!?efv~vf zdhZ7BBOFNZ_;dJa@|^vy$A|nVYWb}wPpFisZeo7TM0Jy8BFx8p#X1)&<`t{bJP%b; zFGaK@&cPgOK0cO@!DDTCum3@a&Utw8w{7| z1YZzi%biF)Z(5el$Jl}eppShl*I(z{DKLeRdOlfJPABu0H`MdFP(2Cwy|mBxuGh}U z{QRTd%p>>8KJCg8C(=pV zK5K@ovn}Dcge3bVNhT7<$qG-1BFQ`lBl}c-ta1fom2=PUXyp>3D7Z_T3oO}}%0R(O zzoY1Cd9okZDjV5SvK8&H{;t+I%EyLx(CVOlxMAE%2Y=E4GOVG5?j*|H@~P3w5(rE=u*Zfe)> z((Oh$0UN{&`_qO}ml0Kla(a9dG-1!q@lA5N-XZIoB!DE8S$9T&tanIyHp$4emTZzd ze)#(6@rj*2Ad4Kb2*>~>zuX#d)hBlCAF4?aQ=goSup}dyC(c^${p!AD27`d8E5rIm!iY_Y>m8;jH@OqU@u<4O2c^#*6+J(gPF@teFnJlb zBzQ&i^5k{V8;UnZHxxe-d_KA_`dRSf#L0y3jNp%gF9o?#gXW2(x_Gi@4)tKg=|k|_ zQygomi$1nwbm5|dB?Tj+q#%E>1UG>d++R*BSg=SdD5v3(X?vhsYf~+?)pmfb=IXNw zceqrz`mADwo!4h}+9vj<)Bt_f%NC?(##Aad7cl4C>NlbGqN?msl*}I8UYZaS?#kQC z0JJd!iq|}j0R?TIcV96}s&M`7yaDAnuFeFZS0y?t86Z$$UYo6yT!|a|vz3;<6kI)b z+6_~N_I>Rs?YJgD z1Jkse@oK9&U)`bpS(P-^BhmGYrDhOb9$xzi0P88~q|nT>C63pEcon5)ULC2866*LC zp3tRupD^9!j+^N^V-!wPTgvL|>t(+0+ycmmt!}dnEngPfrKtm!L9Q!Y2-(kqHY0W( zJa}-*h4oFtId@g$Wg99dM&@2b<@}SNaOirv8tP?l6%d7DIyW0}d@+atRVmhx%+_@A zTi!-#I(J?|O&COt8oWaC*&O|HHfMcKs4$tm z-AM;+W=izLu~dF7YG4hJw`@sjK?W0Z#}YvRgNQB7jAZ&h0#K`y^fMC^X>@&I=ldjI z{`HTz)YtEFw+ee+%Cx+gFl+)J=9?C~)OTsDqj*j6JL0?EkHx?0pM|YKq)bnN3?8PROUCQ7 z$U^eI{`>G>f`5&C9Q&G>V2k^saZU1wFbXu}33(dOfJIc$fKMT{XsyX6&6xQ~GbWofV+M1pLuMQmX9j6nqUkPH$%?ZMFjs!ZeAQfbW2n_G z|JJ;iZ{#$lt6QaVmOILpNs-txDH3zbNKt2=aZ&L%7f8vik5VvA#$6hPF7foumG+#4 z_Au{f@lB8=qM=3Enoiolh4!$WOKTjSTli$a%$VAm2WPyJ`Qoa#Z~VowC;LiYT(#nv zE!SNARAwQOPoIQ`U}|4IK%zWgxvsAYI`c$97^1(!<$*4Ye8@7tOsam@m5#C>yC-pZu49Nxs8JWq z(PFtEDlT`!pXCE{D!nwXkYWNkpHx{_m`#~W7c8$6a1E;FD%3iCsNSL9Dc`AV(tGsd zx|YzV=!7SlOmeV5!Meu&OPQ9IoO`2ORg{D*_+?oDlOaI_KOuqwkNRsuMY1wq#`B5H z@-(WOrpS1Wyh(;*jMD~5S2xWe_#W~&A%vc>6T%dM3>7+rO+t@wTo8nAa>sV9{>Do{a+L?gZ77Us9eWmwS!D<{I|F9-`FQ|-?F_cq0g=}z_op8DLi!6tN8 zL+RmD^AW-}Hq*1cFkP|0=j`Mz%CZZza`8Xx#Q!iE-S^Ai;v0sPlnurk5A?kTXzO=t zmabaG4`Ne7F=!$BpDF2xCzD`b3=)d!rJGO|Ps4NZDtsfpj~pO>NK__Ho=uHscF$2VB1)cijiqoATHH=RXY3_yc|fKZbtn9{}Qen-zZ;(k~u1Y zO4xt<6hl0!K;@_k4MH`j7S$n%u7i){T)9&C4u|cSCZ{yyEU)=_rRfa~R zDd;M67d}6GHJXi%@VB55=zMe~T8h_XXJ+rt-j{tE{TS`$ewpoqevhI{;d3zix$s}v zKLAh7M)#wK(Gh%~vIC{zDQlqQ57Bb;2-nWz?ByVeIpDtUK^=HB5go)mBn5Y$k3PX+ zyqX&WcX=w?ncWYi;;0=hK#!n3co;sLlnS%66SD__-v*;qaMy>?HnbBy-RKqc0oH}% z*{8F|fg@|tx$r(+=-0T1%k-_yw9tk|G*PJuu3UwFie5*DaT5QGTqWp2y^t2J%f17A zd>WbowS5+T`7!=Cxe-1$aR>PE*|UI~Z$tOe)<(ZTf5K5*hbQA!GKgG7e#9+@5mgJn zJq^u63!%Lqg1i3_r|?dqlSAB7{7?8(Vo~O3)&o6Ki5^8iL_fm@ylDcjz&GRf@L$Ln zGKV}${>=S=f1dxXG#B3bVsr(%3;hKB8+-9cJQZJr7vR-+9ljSoj1S_&_){{POec%U z7u*7F8TSf*7JR1hEBIT4+l39{rLS?u!cSGN#IgE178oH8}VKEN&Fms9(Tc04&y)Lzv6%3f8kRE1~m~$jFgfx_$0}4 z@;&kc@)$V;pTp$uZSqX9xEuKFS~Bv(V138@GsIx)htj6qd@@w*I;O9AL9ygHyr;_LJ9pnbwMaqR$;_2jcJP94=E1|6q zfVMqJPUj}#33wV>L~?Rl^z$#ku9^Qi>gD&ryZsvOyh_yZjpPeaN82zWP4LWLa6|bN z_ZIqqJAx(t3G{nj#Ub2Fp5>+h7rersDa=Hr++*lvZW+D-?I7b2QcuYnfsZHQ7eFpd z$MyJ2E{izOe_dz<_ZM^vT1@^6^};y513if6@t32!Q3GC$K0(jGs2C(%Db|Pq{03Rb zuO~j-g$VyVyj>G6$DH6tx8ip05%CN1KDrtm;#KrV?nS8mA@VXekv}e6fEU0BxB=ac zmSxwXYlWHoZ}H`b!vMbdqafW@bM<^F>~8|8G8<&tP8i*LKn{%NCc>F8aL)O_7c)RY zJOZDGKu++$K?`AwUkFm{*QiUJPP)w7E2W^1JMnMfeXmFJ$pzV!-2BW!Xoq{C71GdJSA+bylV8T)!v6Gl_pAxi{i0pBpeC`{64R3nI1#eRE7QL zHXOmIc3g6NN20T`qm!>po^#G%dYqgKC*~HM=;%zqsqq8LbS64jvBbcVX()NwH%g|R zlIeU&Y$cje^WfUVxMZU9;MioM8_$|L6X?6fCfgF7y^Nm7=uM0^fG#bCA0)k6;N zxb@@03lsEk{rYu@&dpP27G5o-+qO2i2mF>)jPF=K9v;0B8gat31U!x0);6;f-v*CN z&^MuP<-FhgILcjsZ z-oFn#GdFietg!xtC`tJw&uVbpr8`rp&YBv^BGMS>Q>f#a?0DGV+H1N=GP%@Bzz&)Z zO@X$Z+cv5Wn!mJ^cJPMoG`a*1I@e5{=^Q7}C3J35U8=2b{(J?V@eMhcsCrlr3F zF_NQ5jAK`UDQD*k(}S6MCtm^oM8?$fx+NL7lAXbc@ts!3InK6CEiL_j{84xIIQOo7(}$qvcXe z@DHrxk@VXZ>r6wFjiCjA|D02~!vO_jIl2x0D0dF79S?$T{rd6A#Q60c>*sc7*IbfJ zSjqLf$!p}b^-ITfxQx@C-LoOqIeudswABJUYH)3mURl3>-d4m_z+=*}t(Xxb#%yTo zoc#aQb@jnb99R79o-D~WVA%oNAlY|9mH;1MVhjeG*piSjpe8o9aU^2m4`D(GEi{6V zrfIlLLkr3WnY5FpG*f4oP9{T=;UuM024+l$Hfh|nVOmOO@<~4aXl9a)zW3X&cYAw#XW7={K66O-d3~{Aj3wPfGrTExrmj5G08`kEDI0n&Xwxb} zd)B}=Umd~bEwOA1p?)dB2#c3kY0-)4=a5{O#5})MkImqzXg6k{a2Bm{7fo|(qM*rq zX20)VuNa-#>-(M;MxUu+wFW6o?VfllrQz*ER1&>0O9~fT>_JU&(-@lMx;>Z^SFYA?0$MB`K^cGLQT$7-WddW7r>xi9 z={9%8^(o4r7;_5ec9S^4n`Gg3fdO20+D#)dh%VxKvmxPwVIvG$Y{-hBxKO9W&M7g7 zVj{}zXSZ&Vow8QB zi7-1SDGvET;=8)ZD^|fN2G6>-$m;?Qln7pde*?lB#H@0Q(m0EH@|O*({033fJ$b;a zVz9&~F94YDX+JyEIejJUGs~h~x49A6CGyJcAbS7VqNDvKYyRzYTaWLKeXyWb=!*}1 z`0y)f9)!if-7NA&_YxH&fHNXQvpR`fu+Ld$p<)M-8`|?R zkqW=}Q=)~7iE2$E{a-{&o+heWMRX&U{pBwat*jwx9Kgi@wwvG&J_5W&6lx$safYhQg`F^5akYYKazS%@uUm)s7*`YH;36$H0Hn*QAx^ule zY7P9?w1&np4>-BxeI6B56nsnt#M3r@kb#L=itctdmlM+zp%n#sC}jE7h>OAP)cr zZ~_5O!$ULzeeXqzoELC>ru6mgrw6c9$Wj1?j+|oC1vUFsFMQgHX zH#S)2rD01iSZwJsf4w1e(aid@p>m}hgDgkK_dqiKJ1Sv}RC-34Lngo#d)^XM%Ca?q z`jIikMoi%fqiv*4oK;w6W@&w>h)?j#R7NWQC;!Cq@K3U{O6x~L8~OWm0vH1n{yyIC z@%QKeza(M~*$RvRW5DacWx&oa;r%Y&@9=l1guhL7Kr7G>i~wW6Wx&DThIH|_#8i?} zq+0>b--2}UH!-X?AxrohNWH<|K-d17X&s`I<3s77Fw>%&-ib|^sCIQxl_&Y53-uBJ`-BTFOUgv^yC6szCaq#2@C*x06S6_ zk-A6*@Hp@cU;>zBkS;*u~flk25&u7p~j=!D>gw;?v|1*DuDiHBM@jpoY z8h=^pKl0y8{VH@d^f-SxQ>{{{7=A(-7qkny4*mlE+iXplIuR=6V~Cv!SqHQN9Y8;D z1hDflK0mWfEkh-zX&h^e$}{wl)X&l}Ck1z^!N6KfKuw51(@jW0jA$bP9t=GBb7X}G zJoW@qLIfUq1Suf`_dSS|5P@CyASFa#+fJl}2yE#`N{B#54^j|0{>$IgEKnOe?qXV~ zgzra`_9IIB5vBcP9QS56ESIWH zs%%J{bkH}oVD%~CUPRQ3Iq$`qFb4TLFd=h6khJ+0d2Y4P^RuE1Ze;&F%JRhnbd2$@de|S!-f7fz0mQnu(%kwAI3!cO3 zt93aiEN22a26al4)KSkW^~G^XeGrbL8TA37PO3lfw5xY{q+{4}+@3@(SfX|Xwy5h- zU&J${29v1sq}uAaU0q|bR){hu)n({{ZY68c*+m}NsIMB9m(&%TH#g?kj^JX)la839 z!?Ds)?^x{cI#frM!|j;uEOWY?vz#-WMNX&F?zB0%lbo}~@5<<6b2Hm6_c(T&kT#ii zaUr?28{*8#X(O38C{Z5m4zs9vHbK!L&HPWdFUN{DZ7~acVTPR-MSH^LDm|KWOmvxz zden4u-WE$U_E;QNlOMvZZBH!6CWPsrTRegrCB{k*KI#^F;lW4aajGo8r?s-Rtfh4I zy2y3JKweJ!33cT)>8h~#WVAb$S#kV$RXA?e%k;zq(oyp#;!)iw`<#8+78zxq2^Eix zDlP2uwk}~;S|agyG{<@+k2Llfc$hk$NuCo|X~84SS#9x-T0B3>gI6OIc!h=Jmpp%A zq2$?^;H8r_ZIN_MjpS5ll$4xgg*Kft?gz*3mz;8g#wBOG+z=eIMN&K-P^vwW!sd}j zQao&)r1V~;)a5CMrznSIOA5Qn@mQRhmnJzgFM;#5?*M$$YdEayEZZDU^ohru1HQIl zV8DF%o*k9qj!jD^;`!&Ffq|jK4xw?+688;9%!DtZrJMV%joC-c|WPv)6r!J(qX6U@rBAN#DCKxsNK_?u=NUBwjG>-6sNWNj>>ZFZkNb z;9w-Vmndr1c1O+DOaOmtx!t|y&RX*$Pew*YMrQ6fwD*pD zpHN0&~j>vx6z$(zX=39V}CY|1uy8b{XBK4FA8y{O{2hJL3=<0DX1B=78vpw_Z$#A&hDmV zXSDON-&(P7DT*kbF~ZLG913nddHkD7ez=44rDIkGovX8GMumE8;iikp2muTMAjX-K%*_FP8rtUaC@kZs1CUF!7N>N&ftp*EmD!Tk*bNDH{rQ-x#)TEW$0kF z%Z*lnz_vcXKEMJ-)EnpYE3F)K`7mEp9~;gs4*Pn-@;dxFwk%PM%LY|8v5wFW$j3$X zctfw`lcS8`FnLUmEDqqV*}L+LCtBPLD=nH&`18P|JFKttXoA#JRe`aNunw?pEhp;= z3$0UEVItP(%PrKk-0jX8tF3ve{iCeDb8f8xPTamFD5$jYR5q?G9&r>!-8Iot)h?gW z86xbf{KZ@5Ph??cmcOaxGyk=u_}>-3|0V+dyS}=#x}21#1Qox%nV#ieh^zlr|8G>) zSy`F!X_y$9@fqK7=389E7M6FZ^Z#J^ z)%t&qVE>~RR@PsJVPpKIP5yiNH(B&Q3A+Ej?+<}>R)$}tUoAO)`y%>#>)(6+wf(ni zc^~^f%D?vht^C{B-o@A7*X-|i@kjk1>tA>Fn@IZ~$GrFR>neWL{aXG-e*L#A`SV~i z|9Q0kht$sepYxbm7&!h>eZ5Z=$`W}1BXeoZ1i zSe`^dut=%cboJ@oSq6?6eu8PisoUM#Yl_Y5`!BJ#vGW+aL3#8~LrNsz<2WLdFz-ud zgXOev3Qu4-YlJ55`&Wv7>*P5PCaQKeBYfEbD7V(?oZ9e+93J^OeD# z=&D)da#NJ2J?tLFzPv+|`@6&q)U!Yso$uimIbh{34KN;a{w6NCEP$zxg+CnSXtlX0I^K2x*0Bz`ukVqJ3$6AX zYjvz6DT^+*>-PJT!UF7v!_R@P2)*aAaq12Yf}Ikpgiox6P73uIFqk@=S26i6^F^+T zA(SCyVkEFNBJ#SYCbbu=6*Xo##|%20uFogD9!E?@n|fB2p7-@nx0VXdezv&UEqF-k zXpOb+rOYK41%}k6&cfC@qxN$<(U{)Ma4Rj{EI+2XQ3Qe4H#Uqq%+)s)kKGnOU-X%!KyIOk*y8p`Cr!GYzeMVn5C2a=d>9ETV7|m}EFk^bPf3av6=gV>_s5-*qqb z4h>By@znjKL~)Pr^}NW%CjG`Q<%YYL%9R6;af6kv5mRI9MQ$+F!kZkyD*GSmzJ3S5EV#QQZ?N6{+{7ve+W^0*lf?z&jy#-dPSBY(T6v7^~8*0#Pq&Xj(*=Gdl{}UeS*B7^@_Mtg463hfPKqbf-(}n#399WG);9V0O09@@4h* z*gWN3v$ydr_vJ>r?=6V8>g*B6%YdC<1cAKh@x0gVN^>_8PQ?_AY+Qiv!wd9bEQUaB zLXDVaFo~$zVJ*pYM;jff##${yCOT?K0z=6xNtPWU1t{pXSJMEInr3Y@Zhy*mfskxj zd%@7&YFWxabmU9dFXlI%DI(hFq0mC^XOV7>QCuiUjF=H_hAOKxhG037uA2D{`8(N` zLh{;3wJAqwA#U85NVbFt$hGvClG#FXS_C<)0#*<%gt$?yBzOJWErwHza@?nJr3AX7 zWs*Gv8swO9tUTmD-QiCMNM!HxjStQxp$n~E`1x6y$Bp#B=MYL*-Q+M4DPnwg9qTG+ z8>kb5TjJU;l5s_~7B0~#SDCW`RlH_Q`9wQox_YX5HG*?~oIPb=aSDfciGUCN1r{tw4!)OsuYUa#*#c96BxudYF-pgnXJc znYK_A0ynmm9?4vbIk9k4uf7|ZG^xev^1zfeWUblV+_$YLmR)2T_{~GkefNu&0nm)A z_$)$2v>_Bzx`Ra}B}}5RgrTrh;vqjmjIh|CfMYs%C`b#Rg7$dL6{uf{kbCMH6`RLe z1Gpkezw+VDkU7zqcniEqEQ^Rb3CEh41+fXb8P-sW$g<3|RXz@}4gIuCEF0z_P;4DE zsbt&2k3nf$LsV#Rc7bVNQL*_Rgjh~&0uHRm=yE?I;^QCSL!j&ewFr^X=?1|vR9UIe zjvATp1oi}meb^R;up|i!(bC#W{=544iXOczJr!hJj>|s^BtoHS z(VZ<(`QYl9m_JR*8cjtYgkP&PX9vGDL2eo*JsW24$|}|t0xV=bqIqUYkgfld-VKn4 z%AwGNl@X>goxY7A;Zlb#3aXiqQzDY9h=azWiKpK13I!+-N#i2``dY@n@H=Iq3^gV} z%MI>PxUoeC3M1xc-ds!JQ94e$gP4H_0saoDz*TK9tBc(MbL-s7#O8;TDGE=t9UgFL z8EN0~wFx*odrBJy#~($-P6i703*A!+OFBxK|VI{}eCG1*>fHr9QNd0jW(AL0ynr@T%h2KrRSHP@5LL1n@+#KJ0ej*9c@FwrqCbfDCq!Qvz5YrQT+g zP3R)9)V!iUP273WJ6=s8icl|B8Rp23-oqO2ncCe z3_d8%K8e>9A5#m>-k=g5feO+l=UNl@b-muh=H=*e|h(1KgbFF^!?1wauM|hTjwv?`-T&jTa{Gt9mx9 zXkJ`!%~_93@2YU{zCW;})`;e!JVF_oxGTTvV4Ji*d`=T>1mgw(y>mW4iLO$_u#_?x zvqX@r<~bqv2xuQ-dDmL^r5o6P(D_y}I{MH(+?+91|M=zH=+Ff2!G*3LVE3kopJ2aT8%+m?n3OKA3(aI=jg}7dI>{-m+>*og&>Osg#(yM3{R{v0PdGS6 z4kqTmMMVAr2gm$h;NW7$-f?iy183X;QENF8sTC4bIbw<~Lwb1XjbQk?>iGfq0&s3m z7@AJgu$y?d8;Lb#if_{%N!gFVb-46CPU}LNdls|cM41_At)SsEhqshXnP1>hNZ^iR zZI9YB0^;R76>P=r0>(0HzyzDvQ{E3DR6?v-`YWBh{G%xfHB1j9lht&t4<0C&P? z$jgYwPL~>IXk`WUSr;^rlG&Qo)b2Ky1leV$8p%JjLH2hmk;t!_VKQ;O{ z0SLx-h8PV4$1mm=>pPr_k&%Jn-$fu;8UHB)!NB}GF7EFUh+p0O=Mjj1CcFLd?)^vO z{6`Upe`~1!Z8(CF;rF}xC&t@vBlTZ}BmM{g{IOmRNDas5~A|FOk? zvh}N%|L^ns`(FP4=;Pm?<^N8LU)TPxA&`G2(7nU#{)Irt@}Cpvm>JmqF$7Yf;%$qp zg5z!DV&l+EOiaLcZ#UgxMWu^xnqv*c;+SWwLV^xwmf?VePY{5%qoQd&HwR z*Q!Cps<)U$(tBc$$+Io=LN%U^&dj<>%dD}=w5lS6 z*%YSX#wg+&`cdyn*27+d#k0bXc9X1KDBBJ9eJ7GTY^TlI0*ZY&mN0?aoSc%L3uPuS+2tHhDl z%iLZz!=5s?z?@G~Pw>`aI14z_kej#Vj%$gyklh6M5|-WEYrPkoiO0X?c5R^CQ~B}r zO#nZzZkB0NQ12%}dGCZ>Hp@}pofS`*JOE^xzib@~dvPuP477)M7T(ku-?#5B<5--x z*=b1KyefxWWz4b&bhR2=ZDG|hWyvG+=Dam{us?lby99ierVP7>ncEA3q}z!?JAzVv zjmVw2V!Ip;h|P$Wa5hJt(*(x~U2cq~LKE?3bidqz^WMqe9rKn~jph5o-qTr7x%;-$ zsd#sZ2AMSx_0)Xyz+|r7321VieLlFKIvbqA13ZO2Fg=e9JG7;5ltEuu{-BB*fa;`q z_PhizWKuma{W{aqHV5lty8&H0r~6}T@c!1$c0ksJNdiurUzHN;1w!%@;)$uH?=FyN zf`!+FQnk7A98Rht2INs{Prbe#@V(4X*VGUnxpW*CSrrAs?i_~e(&FOc4vOX?PFB-J zk^u+ID-i!pbJ`i|dI{IFSEuvV9?L=1=T3bOBd)Fa1$H?MT&vwHEY#D8G(#Ssy0FjCh{cx;(UlDiK~iU0M#xyNX!^Gh6IOM zICv@)!V&~Z6s0*oZCla^v_Jkw4KLy0<&bG;bo$4@8mM8L)ZN5()uT4Re06zZgU zNkH4XPW`h}avd;g88YI{!+hj5424k>+vh(Mw=Rhn^`y{L8nh%IuOI0WNci@swSa7t6?<+Yh&Vunw7V&S^JLD%;hrjU?#L3(VK_d7$?;3Az`&AosgI{sVXcc%_*|TyoyRhT1G7^A8SuPgB0gL4IdDla4YD@^)Zw>6| ztn}LZQ4>&KViHqQwg)OKI84~fjC>~N1LijOyON9+KN zKt*esx^WIw?$+XkG)fsQhuN2kAFuP?VKx?SQ_~y-=F$9ich^- z!&b(e(ws%FRKPEYaW#i5n-SCIF>N_>vb4N)lufd0CLzvzvs$Kx!mt2$n)H^4Q?iMx4ls`XwStNACV^DXrx!RJzpP;W+ev0+KtF4 zo!0D8$5aWf?^hAXRXr3`io9Svkjj!R1m_X7 zL;%X%XI15j~U+%dIX~gX<;BkjY@ai zL6!qkqUN>)#^##~-lJlkDoKRZMTw-+6KimV><#f2)QY_&=I!iGt*hVAc5fD4wPwDT zqO!2HWX!s8knUHzLkMZB%#gAc9wNn{Nhy7ELHE0otAHU%8!l8 zp3Nsjb^FrU64g`WP%zRv#bD45(}Zl`8_JN-DgA(DT=JoSyHN3ze;B53EJT#;R!>Wl zc0gNd-KY)Cgr=%0j_T_Zbu*$qj}lEtOQ<$?QQ=X2cdm2%@khMcbJ%dALP+y6Le-}mj~1i z#AeK#wCCTSc=8h776F82MQPmLm~R*q07qVU2sdA&f*-$;sK_d2;rA86J_Q$N-6F_m z)%TCE7#)p~BP4Val&}`SPG1rCAGp{C*VK|Mpq-SSKB8&BU*o|crP1OLy188s_6WT3 z<-+_>ckffYAXIza?D(qS8pOip5B0L}HVc1CGxqGy+%HlO(E*}UC`}&9+I<<#x$_X) zmV4HJ1{=6h!E*w2LgF0y64*Y0^|Cb1OWMk;hPux9Kt%J!hdn zp8hC-jn1||%@?`*hcU8^@aJV7mwBPhv+f~WB2xpUt|c0NLTGl(kzvUA7`r0Cu()e~ zT(i!8u%bzWfi&pW1PM$l$ z=dxsYS5`c(1V^L=gW4A*KqYR@u%-g>A@aDk7<5nMU@Bn+DrScA$YiPaV}Pb#;s)W) zk$oAh#FB9-qmoJPlT-kyd-iZ@F=+)cC&JGTCVBpAF-O7{;?myc@xxnejd82uCW1i{ z|5@)$fHlBkNwv*0(#6YR_XP@(Dd^!Z4F0DiJ0mOW-|YQgCfSAgRTbrg{*PT>=D+#L ze*n$@AMkvCb3Oi?j(yKf|J@h)-zDD##f5%3slRsr?sxwkZ2s?z^?sYy81z$EW+_25H28>-G1!6^456?D=;?{{pxFHZTgmPtEu{&HT6T zj(-@xKZh>qTodEin&fF_BI9K3rgP=4RnL@Ewp01DjV?|Z8`ZH3~pcmV)*CSZ#bOrKmL zjG*3b_geeffhYs)NK08|?C-Iw_jXdZ_lSY3VNyg(mR`D$Gl!YGrA+-m4m)gX z;NURa0?ioN4URH&oU-c*MkGyo*(w!Xw(+#l@H~!;OPj$YVR;$Ej(?Jj(l{^6Zyia3F&|V*`-MzF3e^upG(_n!d-a@9Y&J3x=T4yugW;0 znY0#$E@|A%lzvD(Q4fOo1JYiMVQ8qj3zHg88d0tJV=e=LSRZ4wCo9-M!xoH^X3o^k z%geo`KkuR|x*B+!cdzU4GYi{!m1y70Af~eqwB+YN6jKVV?`w#+A6`-OHGDcfB|?Ql zA>C4Xqlny4s`SgD^9(UWdJ{q@b!jB{RrP4}kAfs6?H(@(qE%|c{Zy7g=O zKYLfX*HT?gG0_vE(r&590lb7AtKcpv=-ACbvGJYj&MQd{;{nL8N{#4w>p2$bLIdoM z`HhW(n280iU6sdAlpsq#p7RD0dNwWKj%50TEGSr&R=OQLDYRsyN~~n-V$eTE-Mw@^TPz$gLyG!%LKYj zNe?$7grV3Q4s^1>nL%NGH&oJ;H9f=v6K%5(&7U=&cllYbmH{4N0+Y}K^gJZ$$)*LL z^B~fY&eVsDi`;YgPbKEQ z1sHUu-NJp7X2}!EKBGY>IeOxLX-luF8}VJ{x9RvdnPm%XV1>~PsJy~#{N+jj7v9xBA#^u=#VkPlaTPO)a1_d z7katNfNK=yTnF&OT7yxPjHt}QYVDtd1q93LJMN14%pwElrv@IvkF({^{*ACT3~P$X z)wZ}y2g5GH4dc+%-(34LTd5*sr=6K&uRB_S4dYDSnJ3IKNPAl0sd8+O#Ki3wkg`E| zopnJptirfmoxn*&7@cDy+##9B_YTRh^zy}+3G|q}b5k>qwO`7fjJNVbLZK7KB-4vy z)eFKy6J+9LMvp1H+KcU$%iN@msxIvmX~oDHjH_)R6iQikEV!$CkMzpDG^!yCMS*1@ zUe~>_46_!&c^|x26oZE*kDUn02nzc@mVaMd<679o1oppk#wkn-)Ybi*liSnO6WIf+ z3LUUuc|3Z`Y#MHE5&D2Pc3k9f?-aDKTJ2#M$x1MgayZrB;y6CK^{}!$qrPS5($xX* zQc{r*r>IzbkSSLr6F)MSEEAiXiLY>;C2M>s=aEJ$5f7DLkus+?NKfD)VPVtG*seUK zutnaDjH;^KS^+IA96|0tkk!+cve!;uG7Hrenu3S~nO|K+Nm9z3oJZL& zA?|=p{q#fwISUOeD&>={FiuEnHfq90 zZk%g17%y3nRNT}Ye|`x*FE6=%pE@8k0PzF^BSdJiT%vd{_J!6oPeB20G)6isP<%oq z=O1~8}j04U5i_EFL9APd25nC9?6W{XaJn> zX`efLS|skk8v-t*vHJ_WyB3DVZ!}=&=Oc2+&gZoUrogsTZMo{jhA-umxOt*t!_?@z}!>ZMnioR%xJ zQYstMT465ij8WpQ)w4-CYMd69g7CUWGY{vJZLrOrYsvN|+$_x?s1ohJ`Sc>8--_>9 zv?YUl07Dp<^}+M8ow0r}BxZNma4Aix-&sES_U&YOr}yZ>&ThNxLf^vKNeHmHV7@)C!T^>^^pqYfL7nJzQXaetCFVkTq%Y(X+V2m`O#LXA zBYvkDiO}?#w;dIgMum(rJHzK{MrfHV_ydC3Mr>%0R+bY`pAjv_x5v5*q-Vk^C6mhP zhZI2ze^kNh$*Y}r<>)>u;Y=Z*Jp%{ZK^Jc`zI~n`za=QiQKKNyc;nTcA-2eQ;zcl8 zd=flmf{^gaoiAAT5wTD4uoW@eC6mG6>*v`7^^JPW2ncD3_WMe3FGvWyhy+0iHz2Mb-mR76WhWG)IV(x^3Xf(x-e(m`#0KTc-O?jC>M z1J}k5J`t0{`k3B6*@^Dg{kXu(z)OJ`LSU&3eHqJW_f6D1Qg1B~#G>tPzyczQ6zWsd zf*u|(&TOWMaBj=ytqO3K-5#5+%_8K)Tj~?efho1Rpr|eUPzs@(F415t>wIn)ONzb| zs(kt!y2tuz`Qg?mO${T48H+c&S zT@IDLo|2#J%>+>NN*ZD{`Z)8%lid=Ae7ho?1-!WCd--Y)he_ zRF13ZxV@QMUKjXGVboXQmRNW1H#f05ctw@@E$}CfTP{FZ+PA^ni-#*_)DzxO0oW`2 zBMtPSq5sK;JOVJ#@ado(1wPsf;kMz28vmrLWl}$WSUV?jOEEG(H57VSopAb0k!dQk z&;3~rDGspO&=&e%ZlNt?yyqV7j0&e858ZA?($=W!@H@@gY79_AI8N=8@-gc6SNYN^ z*I3cLDF*$p$6$VHNTjGz#^7Tl5-|jx$1Ge@$FfOckwoZ^hN|mMd_!k}C-ut%vWL)y z45!;EEB0#Z*sKI6g^#QF^vQ<90rYNbR2PreU(}b-T6ahIxmDMA6Gsp5l1;@w{&BmN zwpRzE`q~D7ENGY@Pu@JC79!?P%#^?RJ^$WyR&;?qtU9bWODLM>3{M^`5|XHOiF(yP78WK!?0rp?3MB_a zncN_IOnlh+HnDa$Q9!a$jVtIW6ipH9h9GWQzzmP5UVIl1rt#|&DjGF=qXjqTV#!iL z5ipk>JR1%KD`?Xui7GC4*se|O^I(jNs!11^K>)sDJcNOgZ@u;`zOEriC@Cg!I(tg;<038lk3u5Xb&dHEh*p?I4m`RXt>= z+@~o<_tW<)_+z+DZ^*09fP9J4x6jmxN4%RxM$?i_W9QtiyHQ^tCcg741E`zy?w5zt zbUMs#INFTIpn#RSv)lERZ(20&F;HM{1Jyd)YdGJAGjgdXB14R&cwkM@Pt18syU5Dfc>3O8jU%t@rvzHKo0$lu~yqH~` z#La4KQT3^+vQk&7>$}G?p++st(l`Rt_y|b`2uLTcZ^lNeKCR)Q^NjJ5#S#t#)OiPi z_INQ>e~EbTq=ZqfOEpCgpv#58>1vi^fQ`C~xIy|3=J|cV%2r! zZs%^jqN%R~f?Ga$y#Q_};jv(XM!z7N!H8NWIuJe>+O8vm0ur0F* z+uQ8mk0mmqr+$Ouv)RbC15eS@y8|~KG!Z{4GEH|7x;39SoxR;Ooi3kN-U2sldMlFJ zbMNK7zoywev_kR2k@;96@nxn5-6=#OW(n1hL9RgWz%vWP1Uo$%YlRsItqDc8cp5~} z@cRZJWtS6lpHO(U9PRF>;^Q0YK;bZ$7MEAs*HqNz5CtVC_R|ERwH|GcgP>wg564NO z`hF9RaTCV*STy|l#u z;ewgT(a#^gzm{bNx4>I}TV1j%&&Jie;LKR-JXCRz4p1&&SGwv}tC10C5NfzlR(SB{G4 z&17M+4tWYk+aGvmLHddj#&I=hOCQWqF6R0gIYqZPa}Jsx z!VHkUbCZGwdzxj>@(NsyLb{_Q?A&TjNy<=;i4!9Df<_okWzN(u-F|M}y$i1ih&Y$H zb$p84E-RmFNT_*mnX~D9+m8w-+&k`Cn0dOjvhIeP@HCY75u@H-51qZ9NM%cNJBr&} z@{eo{a7Ei==`qUXuIJ;X!+H&m8pOtnI}9Bf4Y#W?^wK#`Bp2>@l1$njnZ01Z6D5cn zi`UbSC?D!Axb6A2)+W#`%3*;Lqoa-ODRKYI=gqDoz1|L~h(<^sjnNr$awS;5^~V0WV)?)U`-hXQxO z*>mlZYwdFMk@p8qC4QChsdaTyB2;UlI_eJ-Le~n3$a+d8%XDRDZIps9m_%b<;RLL3 z=l%18#w{D)d%p@FK4i)bvN=A(ZDND3`#eLgAoTk;QfQG+jyDGVL_$qbR7ot98m-w{ z@e7*(-S~bw{TlQ%oaE8*q*_nMI2^5%^>mQ)nd|C4$76qEflDS2x{~zD9u!On>a(^b zIT3bT+}iaV5BO5tGjv^&lHPp&*D@aG`Qj^s-RuGht(eUL(5!lHl+*69%5SFJz@lAe z5ZE8lQeAZ9nUZn#^_hF*b70Iq0}=Nw?(AS5$VAY&wTFV~a7@?U1Oy~^=f?Kk zIZI?@5^6|jJa0`~In6YU(R2YX*p#FwS!;P(j7jmzoc1=bTeBH^&mjT`?@xGixOu54 z^N0x;yKh~cwU1`UMpe9@imTshEO;OC&szpepX*`gTQ$$$1kWsQ2YbRM!@^gn?dywK2V3oc6H%nlif2t_*QhEEk; z8^LQW-3}A-L4%F>AQ8jL;gQ`2-^=;&shgd6$eF(dIB?u1`Ufq5;fApuOX%cH1K^OFchyGWIJq_6p{ct+O)CmQ@7$Gt3AkyP@ImNk>RdIRSlNh z{qr%49`wi|dZw>yasrWzh)9mmDh2p-MERG{u20JMwkhFV=o|&kp}4{Ae8}z&rQfEF ziO*;K`yqBr@_@1!$%E06OuUF(Hybt^*@{ov!MC50`-gIRqVeeT_53~HX@SGhXIR*~ zh#zk}t3JD;x-Ez8rwENdXS^*QkPGZ+fLn8I`(`2_<|zneu>k|9YE5?XDhSkET4@eG zAVE!OkP=-CQCGgOgEou8!HJk#tYx<&crfL$do*8vaK^_7?UnCx^pHxRNE)4vj!ILgcIskt%QaeahAlDInly8DvR>_!C( z`)x)2$f{9%EH1++;}b)(;*-j)>{wq~m7A_};?!lta;_p~927Q&ky^+$WFfUp#RhY$ zYOb6(pPWcpKBq|}PYFE_MZ4*+f<9e{)*$LNHLoSz-61qIkw}ae=uZX-{XVbY<{Lyo z;V7j*bK>E4bmL7q+J?KTC+Ptt2k zs+{E=5;fPSFw+OuSJp7w){^Ck+P-U{J<3Q!WhyYLV1j2AnEGEO%ei8El2jDm8bZ*iknBX14k9=)Xc`Mv z`Uuv+o^iTON6V+BEXn_X&4g$(8nvcaZLBCJS)u>3C~v4$_li5-w(T=oh84;@echr~ zK-bxG>VQgu<=d*yv+MKx?pWtHo^FCphGBjExbNR?r{`)Cze#t89x>0(7sp#H;*7mN zP|`-77*j3Z$eWG z3yWJX{PLo6FJ)KJLGSN}PyFKyj-LzESDC)>v%|ryd>)cv%KRdx>RHo4rJjX;3$IfX1 zq{k_T9_K3`q|X{UkLVm#oDBXFy$UL!|~HNerkNJIQ9D=**5bmvP&T zxGP{mZfouS9L;Vne}6t9GGeB`K(@J~QvWo5criIP@N_G6ZpJ|&6;(O@nk6Ygv}pJI zw08K&TqTC=21`qXUuig>w4#ijqM48`?9pFl(+J~S;ZqC4-U=gVNeqGlMR8C!n!Gis z%tRm45yM8}i*2*+4f?rz7Yt;xU=k-^F5}iCh+lV1H54+onv;gKjvBU;OEQ;d_huz2 z0HyLm&satAe4(4HtGoHM=0SjRke@Z22dN+TlYuOMlmB%pJ9O5)CBziSPDvy%`zMT; zk7O6i{-zqf2(Ro{`=#1<`+9F$lapa(GCTO!TEqN1_p%yqT^<;bZMKElbZqMh5rRP; zDRWqvIy~MR(nuE8xaut48;>DG`xwtIqTYhqF4Bm3#=fL0v5#$;sX}|>LB6swY1d-5 zO<&=_?u5DOT}5nEUKuwcFoQV1)tR_=PxJKfl7G@*gW0mBxeU}-Kq5;DtC9GWR)8+f ztX@JaFjOl)g~0fBAcL1iu)+68tKfqM#_)j(i6TM2LWI(6haNF#y=yv~Im6Y_%`Njh zCen`Fg8bP%=@nu7eB+kVzpY%OXITv{WW=lo7v|NVV~v;Weh$YwEn7Ub!JFUx%f-_- zfV}rP2Y6pr=bLgm4tL89!R2cNe?yNOfV7rK_TFN=Xv-ktP=O*QL@$eT?dO2^K2gMW zT&J9&W?wCM$knr@^O_Nvx=^N2wj`6k%d)+rtXP`Dj?e%xV_-rpVOnyWL;_?pbh?{a zV7vjk@@RsOV5Dk{Sg=2LHum8T66lW`u}re(OD+Iui~ILUcvu3xfOq+1$@A=!a>3xr zlarlg-Su83S03wuV_-TSpCVmSbYi@wFa;p4PfzrslL(iu02xyeMhc?D=q9cEt^_Q@nuZ5J! zi(A~2)9V2n%i6cf*xr@0=c?3dGVSXr?`}Qf^}SvO)d*tR;q;+qN=+hll68KTqINmI zttHeCUi45))gL>uAwtj(=47y}5~#wtET+g!o49R28^PY=*m|$}4oi%dpBl+dE{M%P zzFClEhPUPboQk<2hp*`3-|peQGrjtr^>Lj8pEogGyMVlE_tOO(p?hU#AOr*2vVy3| zvFe#oUBl!EhWS6?uRs`>qvl=oC{D{Wj|%zs=P<{IGG-G4aZ_WRRN%&cDl-r`l?y}E zdxLq)uYT(%A|uoZqSW1=;?Kl5pmN{Z-5PGoVnUGAsS;ZKQMbEiOZH zudcbRhw!qt$1Z9N+^tN09a)UXbRn{sw$Cwinr~i5M2a zJa4#hDA;gPI~_1SSQ#WNk-k-~)qzcUaHAb7(`xT)rsAu0)7XQX&3bv_OqNvUN0hiI z<{!91Z1_Aw+k1Av=}}z$GLT397`*2?&=#DjVW>Up9k?*rX?mwvQ#1$4^*~xt%HLni z2iHQqA{%pbvRkJ-4-l@&TVU40So3JUYD~e3o%uXHWv|gq(q6NlUoIR#Tx(o&)x$kZ zd2R0SUqidY-Zvv%dV{fe`QiFoDBLXwjK>Xz0ZidA{ZVBhZs5Azu>)D@vI(vU-xaQX zwS}v4HuCZg;0~M)uCnEB3CkxXlj5NvCjgHp6^=#GzJu1Prq*9C0yTqawq z*S!V2MZEdX@{kUQIRkjV-n^lE`o0FfM#|(>P4Z2$9fVJAvDfF&@WPt|5RMLAi>pRF z9^qm90A@Z4wye=$`@Z$N+X|!G9J+O^n-RL(pkJ%f_#aP2n}8?IfKGX#4`sf+lAIqi zY@+Qh+kDlD0$S*KUV*vOqdonE8{Lfem1Aa!kLEn=e3N7o{Ri;7TGd;0S6|q(>rKyG z+CdbM3GFUihGMb>n%gb!=sD3f$GILl`%Rz&`%F>&=n@z z3}MHaXGg1qvJI*3+5HBjvV}=*)-_fwOB2YVys5 zjPpIMT#dK0jUM9G#Yxc7V(~aPQ|Rnm-_+13Wo>P4S)BES%}&5d+DXYs*bPHRT|x7U zYIIgoT3iM%Ee*@mu9R)BM#L0m10@hQM~TpAi0XNgVj1?_8f#VA3Y9&Fxy8(2dmb30 zd%vNhhgGzarx{LFg+{S)Ydt9(i;0$UToKCy6idyrvVZ8bf|U|%+MQ{^_q~CPv7fe{ z76p0V_i#`vj{_`XB)^4x#cIV-Un~uGptRCnwJN(*rc0|UDQ!i3T&ajwVW%`6o>7>x zZU&-7vE7w+q+X6dlB~AvCRRo{36$gW<(?nmEOUQslOFr2lwjQ2E;uNNBA}yf7ob9T zZImY2AI`esT!gz`-&ZBV)S?*g8QGC(_EWnN4AV-#jMZv+b1vUC4m)8z|Co=lC*H(e z5hp=u9U06~neCwmxH`$96sJ*ogAl#V;66;!!Cinuzvxjzh;|5>t{P(a`vQ1BD3Sle z(oaL`v={Ewk8JA=V?VFg1C5hCgJoq8&l%V9cWl22Er>|W2TIa1pE)lMDJVGwz0#x^ zTvul3NlJb?g?dXrha0xio}c5%bAj#7Oi9B|NQk$o_^I82NPC|-safW1k}vp@X`S4w z*%P?uY|~;8!?r9hL-jc@qP%-G(K$!FIEAgHC#=Oou%hiyDZx;)u~d33!SQQ8ohVbU zZswF?>%hvW2lwWzQ?#Ay4N5h6WvTQ}&$_mGYX`i+eQJ%?rPE!mubw!Ow<$P=3E1W~ z(-f}hTCTa1kbBN*Ki?;{IfN*hTbPVmf~nCARx1f^k<?yrTkaX20azZgIBp zSepBNs)3Q^Z2w6*qOA1*IhF?->6wLHV>x21XYy-P6^pJcZlSPK^N$8DY7`jRCmZnf z#rE_;EKQD;Y!$(Z`kIEdK|aT2?e!W?z>($bMn8QtdyIHVhT*8F)!3}By-`Xfw%%!? zW|eXjhzx-*I=mtRSxgxr@>SWnZpYtnf!zqx2BF<{!6}V0fL}p1HH}Y*EbGb)e-)j> z<*AFopFn(6qj5^arr0I&Nl~k~??r##(+SGY*iDIlRY;@#`h*w@wV39|-iL2}?Ccu{ zWNsm9BDEJwqP_f@pI>=)pTEBa$2qjbl=I8EiV75l_aFn}&H}>Mz=9~Z)VZ>w!+B_JloLLvDO}iy$I}Z77?wJE8h`Nf0 zd}TgBa_0ST%TT~HCyP0by1#)x?ocKc#E_mJ}>QJpXrM`JN#U9J$#QYharQ zIa}xwdQ~F(0)Xniery3S|jnPui@jHVNrVhO_L9iSzI=ThBSV(A; z-CnOk5O~adHSdFG&3TO%(c&9ImZ2nucsn`_BhfC)vyGFYaFqq;VM@3GxV^^#KgS-1 z;p$tXWT(o&W4s;x8gKsr@d_-9HjX(A!{YD|d`(>%BLxKOE5{FQ|=4q*9dqA+~QXhxNHT`3Tg&0 z1mMVUi)|kzV7Q3g>I_r~><(o1S!Rtkc*G=d1Y+$ACTVFlEHUi3xlV~K!X)-ITo6Xk zCEDhj0LU*Gg1%pVxIgtEX-oVD<2CTfQoI9WU$p~~!4VW136ZBjZrKFlWbq69Su98< z5%Dj*nFkT31zPUq1M~2CEl35XHrW&CG{6_!FH7!(M|Ng|@A`|)RpuFA0Ha~|gON}wdoZX3kQ$hsh&Fl}AyTO^ie2Q_$m>`Dk5k;- z1lOjbvgYV>YKRo@U5xbHRIujv)C}%JpZz^ zf(iAk7BI7$7#bk``vvXon!Xy|I% zE=M+IRh+X}y128>Br$iK-OH@bhIO6x9si2_buQy9p`p35#nRq*7R6G;Tv>Q_hk9!L zv#CkXX*3TNtU7&jw|>8|sD7aFT*S({FUcImde7Y0x;?vPo>WnpcYMtB$Ca`A)_WTF zH=jp<8F<6J@BJPO4&?+cH4_F^_l!A-y^gh7zV7G5eTNv~a^ASFd|dl8aAB?WT) zxfuc&pjiUsL5NWO$l+wj3S>F4vIH>#G(p%)0vthhor_YwOi-nt zeTWss@?yn)O8*r8DNf+$A0WU5$_a`EN*TlkRf9~$Bgx|XT>u6Y36uyF7?c|nC&&y+ z9=RTw33(P-37L>wNKQ^cPA*n4Rz6lCR_=@9CRr$1H8MI>Di9(-i~@uLgdBSAB~H){ z^1JXBc94$(o8*=zlqs2~;FcxSN6sZm5G{E|5uMZ)G*q_YBWKVA*=tl!F)~l?C4Eo~ zndc!R8qjM}4>+=nJe&9yNYDfMYtU!8iPx|m59Ia2OSqsW@^;}Zwje{~cd;#LC|fz# z%pN>4?7~YAs498aq#jCSouW&`AR=U)0y?2BP^bw-*XSO7s0jr&p)Cw3aB}RN>g=8w zpxqZ_ugN_~$liim3&`HWTXs+}@{7V-Dag2m zmk>cANx|@^nueu5o0?b!$LblC6sAGY2Un+vI%X z4oX5+kyATolmb!{(I*cgL4GFJ64j><5=KTA! zOm?e~%AY$}d;xM;G%2jl5mZhtl~0!>KpF%Gb%y*Sk1j|6D@Y~#2U<>0j}g>3a+>E< zb>@}`6fE+wm%NOxIFB_HA5Ksh@>jW%LOH?QGy#+#2`CgEST!##ncPSq+DEAIcC_7{Way7D4@;*5_c{&9;xk<%I`Ou;-!u*o_g8b6_!UXXGAfP0m zprGt_9&c(Q{1W^E{8E1T_<7w5dSrS~p?ILg$RJPvQ2<`xj<|=qd1eo;BDgHdC$O4`LFGDjy)PoO!*K-=A z%|YK1PhR+XL*If-+WLCK-csfa`r!gEgWgK!i2C6Ix}zTwWu0` z@8EHdxoAu?lvO4>Lg&}2Q8#Jg)^nL}&8J?8-=vrXv!++hwX2th2;s_)4;n>>^ku?? zEy0D&1B7wawoc6&8>B_9iGX2r4D^aLt~3vcwQiVFkyZVo)4MJp1HRpv!<%OmE1##C z{xKK68`~v{1^&*OXjvbeYLU(%I9{$^&?z`B6tCc<(kQ1X#C|4O?FT!9kWo~3>q)P1Ju^SKv^8$k!js9i8C1*a7 zqsz$AK2vp>X)c1*J(HSvFP*bvJ4$DEp1r|~b)X6IL)ffbRWO=3=*3UdR=8%*X?-!- z8L!R3)XGgX(}lWa-)+l1QA_a4rw6{v=;-!6@d$vNm;~}%Ry`gFD|-_0@uvi|Dmhwm`j7zc6J&Fs7+56;?-%%7rxI(4aD+G7 zB4;$bztH^r0T}sIJJ2&QG5v$Z%KQfh<2S*{--Qt@zp4KJhE@>y3t_~k0OV7ZVytfs z^?7xmG-|U#_sL?Vbd`elGqMx^>Z_L{M#FRK*ZKyao`(%sLp*u?(?|E0Oe_%hB6g*T zDc-8`oxLmf*o;Yew%bvRdEE{ZJiB&^=6M2l;SE!|wqZ!=22a*)SC?aXY52{R_uBLx zT}*_zrsf;PCyljpC8Vm?UP3prq47B`B(eC(3h%ug+ni&4{*GIFx_xQ+^ubxoFz#i( za-&VMHi?55H~89n`8=lo3~%SbOS*CD07vmSg+P1Zhipsw#BjY+N7EVGxpZ2{$9hmO zO>vFSNv(N5iiLJcZ~YHNEx4Iy9XocYgRqQZ|K5^j?4qcKZF^*?Oo+^CB2(~;P^3#f zE&$POh|@4`gE-nvXm%hOK@VULBOZh&A%ah)9IoC&y~iSn9I5Y()GtOlOPG=x^O6mK znf31T@9Cm8aTyRYY*P<`oi#ck?l?OfQIb??SYE)M+%NkLwzDyl@TdBG@I(&LLre6@ zf)#w@0OLa%gceu39(#&2{4?@1M;)<9-B)8vM5ei&e7bDF{up15p>KoI@?84fKMPnX zI4DUET!-$dSBZ8AP<2NylJ9%5ucmza0phT?h*$i!1tT=(Ysdrl#I}rc8rL9H8KmaR zZAlJ}x@EXsgSfahp?zY@p29o>y71OxBJJ?}3RW=+Mf>&!YC;Z_`0rEf_gV9I9Un8@ zKPDK@1&oaCG?W zENuS`pu+lhUdo>cS7z4VbwGatR6a-fo4)B&tEGa^_BUnIZ#Y-6Ki>SNO!{0l#-Fs$ zzwtW%6iofG2>(CuQ~tAA{xdj*iRJf?`Y+M4=#ew{-_0Q+uUj6Ii zlX&`|E0q_W3zNbI!Jo>b!f~@HC$`F zRLe~iW8GaFr%T`H=h{7_H`cqzAO;o?2ulwV9`5%=%%F+D*LcxNEPXHTbeemdeAIa+ zZtXmcir}1uG@WH!+&rOPJi#F?Au$*P!W@5>3jZtYIJT6oIKK`fl?SatEROLzD%`#r`6C7IQ1R#;E3hhNSN#c_%hX^pk zqmJ7FN@01$hH36S;%;xXTHL#DKTAN3=`we+fk#x~ z0MAC}YA1`OW-_qbS2jj3Pf%uz*kt}HH9L4gqBo^vQ{QHi~7 z&Rkul*rcL1*U)XVql-JKd7j?*X^+?>orXnj>pt{CgVv3D?-FDIN#3s2}U#6?U$9+ z_1KRL6*s**U|zf86G=ZmzUyG;sCz1IX4FLrnyezx%zpE$BedgmY67qBTJf&+TFI_8 z1BNE`p5&6C202tGb2IkF#C=#Z^~&VAlf}XTW|4ssSw_p?s8AJ|gBf}b5~DffObR>{ z1Yt=?Wo2W~^SX|iN{qpC8{|{_xcosK=?>@d(Xc_A=Tyb!i@kK(ugTlteKXC74ojC& zq^Yav2PI&glFV`vFLwe;S_TT!w%@QuVE2+OoQw2}T9$c2tm(&UXvg3%IV4!o&si6t zpzLFkka4M}>^So2-$H3ZXtDQ&61>1t*!vs?q}=;Pe};+}w<+Bu8e9l(7zLL;dr7#< zOIwQ%XBVjqld#7tYnJaTYPRMX&JBu+R8f;_KaF+{40Z(hS2f>Xu4&6|Xcr;ausB$T zJAX90?YX~tu5|sVMv-=StAreiwOp#QN3mvr)Ib zVjyapmqkfKO{1Zyh?+H`Br~e1v~S*f^2U2Zt2I5{ifuj7;fu184{v0F)YafBlbx!= z+fcC;)aTc8-k5ye-d-V9Zr57OWgLIV2UBESK|hsa6i&v`|_ z)z?1MKAv)k;tBlWC9BUso;~pmdxc)=8eGvHeE5WPPj@ZWsy#~dO8nLG8C%v%r(iEotow15%uaChtL^GbRVI0y#mhVrw^*MYG0-MNoS9CU?C zU31su@Ate75i#33*nI%&A?bFUHhc&kbV6^vLe_q!$c4pQT-T`qN1Xa#~4^Z34qJZ2uMY*H2?6J+$*~bnl27x|{Db(+>JbaP$%1Ptph{cf6#))_Zv( zROLd{)j%eCK1<%H0HNWAY}D+Hk(~w#Us6`^$9bhu8?*0I-Q1>#3YG@w6asY?b4xbG zai%GN4|Y|+Ards$*i=Y*$3D{8#WS_^t@nk0=*Za2@n3UQCc+LPSt924jrYkcg1^{s zWxPsn-;URwz>^e{9)U?<4CiB;ZG!D>YCod%!zEfRO#wi%!J8&Z74jpl7Yv=_dnL6( z;T7J}_FimakJBSHAcc^12JeDzugaO`7!Gd>Q$rt{Ov>^xzcs!TrKGq?7E5O;C}qe2+AlN|Wt0Ne%*P&yr*eHKBY^{aT*;vTD*fsnsGj}8ki zC!I+^gML+u>S0tx-jJ|ajGbP@n-?H^v^PeNS9?Kjf6^~$?DdVoK@fKA_fERI9z zLQezEbpIEw9UJn1YTa6o!lwdypM@72mVFoNO=AYsl|jkD6j0j~_gx-js1~zc`Yt}` zX@mDDhhdbIs&=V6aunb7OOd7hfzWo@4-p=gcA2FUKx6puvaT3Jq^FpA1A3pT&5Nkp zU&^Ys@qNDj_>(9~*aeg0(1mK`pz&tN;;uSF`Cx4g+>6AvQlVoG<>uMDfr{7$kEDU^ z?E$D7eA^zbkjnu;rSrpUtsJ3uv*i6dkObovZOoF>s4E~m&M3q%&}g))!(jz%tp+Q~ zu_5CE4s58FsE_+w-1vjbIZ%-hlA;T++Mm(GZ&T5_bUSS^R~@MfTqy}KGd zC9l#CPxbg*qif3scAWQ4Fvv_Fk#?CR$><{dlTXrDs9oLl&|x8|S90Q6;gynYWc(#G zf2|vd^|w`S%D$CTN1&mllP?-6PM~f+R<%${G9!vDa3!-rV!Bj!WW&Nf#nB*H^WDTh zCp{YLyE*MzOB_f0ehM3DUfv%ixMNI)R|1yVbC~WAfUb5?(QLm*|JWqQ(zbm7_b0lw z*g($03P+2hat#OnfKBqEF^Hf$rbKD0TV8eE>bl zR1r3bELf;@^*+*EDU2<*k|2wJ50-+fu%F*qmB~UlAoXk7(ZMQ?=yzs;3{&zbbBKJC z`W#M~x@DAmbhv>Tp{6o=G0eQy-nYyqDHmr@(Q&?+#4MQcB&S|)U$_N`zHyIYh9r>-HzKLhbX6cteQVyU$bUF`6>yxTI@L%b*lcvshAL&c3%C@jh$zg#BG-?)v!2D*lQf;1EC{ z8zhVA@d<`%{Ir1{0E?Kdwu!@7@+wn5X(k2nIt1x%e-R0wnR`kc*8$(4Z8t2FJh&Db3w8uZKv$-!gHC%q7t=LM;IdV)P=g}o(muMUM<_K?3*Bb zy-OT7gR&Lhk|uxZAa^%}vK8CvL_Wt6Uv4=#Y%NREjfjh*lELo1Ea{b}+(D?Tbe7@h zcqn~QOXw+A&cGfVD(P2&oAbd0@_6tNPwfkBH=OIS765{k1XIcG}ZRNjx) ze-9NDDME;fj3lavtTo;@Z`CZNXD$)wpcuok8|kS?jFWO=53vvu)q=HaAR=>M&V!6! z1@|G_e*gCC*Raq2T_=BMsO@$Y{8Ec5gtyEk!_Nr_Z;4Ao|1M6IK5p@Ex9Af%>?}!~ z&O_r~_G}R^>s#38Rd6Zxve-2HozjL^bhuxgPVlZYL+qOe;oVvW;oR8R0&8=XL!=rt zPR!5iFPKhVOam1g6(f^m0`Levp1Kbr&oF(Y+XvvZgjZ1Bp?Y;K+WH=8m~_URv_O&7`c>w_6K{ePVzA~`NTx5h*rDELO%@Q zaz0#Uf!V-Q*X`|IB}@;Gk}_|*Og4t=lKe2>Ekx;J-`wt`ua3nce*L2E8JlB`&-DdI z&sqikV2on#mIFRzhhmSZBE-Qc(cXA(UcvTx)_gvm{7ATeUVtF;K@Gau(M6}TKPka- z*xp2w0sA{@`M3>>=JdF^NP>DXYpQzGJj_t4^*lc%(J`1)w4SaAjS~L9No|6$w#`Hl;o5r0Hc9 zu$@pJ1i~MEr^UA*#N*x^*}#sLCmI;oz1Zrnq4r_<2sn8$*j$HM*g*p8o~2EnGeP)9 zP$7xyarE_zYw4Zs$;HKkw{Qff@kz&-!_EQoH3}_ZX7S2~Ti0za*SlP5NNH(P6~CZ{ zW4uCF6Z55w>f_3L->T}F;hn0D9J5P#i;BnA2H^Fx(Z*kR;r^gzeO@&)vN6&9*5kL! z?ay*X|9;*5CkE)h`gvnVKMB)cgdaTnsb+*hYIZ7O3(3}8r$UbJf$3mq6ks8Cf<8LA z@|2E&*m}n@TQJ?RvcN3~Cm%L8%#^>ix~nQ zc+&OP^FiX5^2b$f0mW^_2I9<~Ip{F{MGQ#O3h*CJvY#ximLC*fsk?;n+pQHy43ETD zRcsiuDYF?}lG?^nMpC9<)=6ZCPh1yMG$DrFmegx9#xWye8r%=+$})7>TwRg>!nA(? zvOZ1w=|ca9W&aut^&cIag6d)_(lV4P#`d2aBmKYjZ~lGbe{paA=5e8Bq+`UV|J3<@ z)~I6ruY_oNx_>KDMfbOgRDXIne;en2?c)61o%7HB9s0kv#@`0~FIB4kqh#M8-5!H^FJDX|3IqdMvi8`QKbGizB<-V+||E6{>|U@`!f4y zd$9ZkcC%=+i@vt{LG zxV5#VWM%6a)c3b_R)TID7v8q)iF4kUt2Oq6)tjAlkMov?EEip0bOd7sR>`zIe4f&W3Gg z#)JBoraw>4SnC@f64!2|3CD#Ky=d*0RB(!W2x@0I9Li}kHc!ppsg{O*#gK|CyFb;* zLXOmrj_8XRVzb<_-DZHK3t?DMw`JLT{g`+?c)QWgeyrlYD2AHVKJYC{Y(*-#UEVlU z7afC3QyU~}>QmjO%tX9`xq-O>s{uq7m(GiB=IZmzDAe|>Ma@Y4dT!g=J?|#L_gAHv1uv5 z3Vx*1@0xG~ehHrX4Q=8hK(qskE{3U_ttMhssPqAVjkZ+xVM01naUp)H>#LJSr0-P% zFyC(BT7Am(5mmatgd*N}p=fFRu^F1SAnD;3=Y8o@6osK2d~O+?qOHJLIXJ~5K=+8` z8Q5FE%p!rZLYJj)w@7);n9__2ct8u&jkEG<#tO_{G0`yH3Oc{rrOxNh5mANQ70MKP3r|o)YD~>6m|=0rDByJoe6n7?WkDTEGG!Y~ zzQcC(i&T>n#-^o~NpJ%k8Q#)AT%iTwct4uKF;8pX(&c?hQ*&k2QPW3o4Z!7ejJs4f z0&N@W<7`B1JRzn$VA#*e(tC<7v9kiq_9lrnVAkN4W3D_7iOY=<<_EKoUgoCX!)J$P zOJ=LS1(PbGB$eGIVlM7Rgk)!|C%ErrsHO62Rqgw@4q`49XXCGZeeleOf=7 z-m;6ghvxWC+vxJ1K=LlZSulB|3@p{aJ@B$FKC|z0dq`mDm6gK55D-@SXs!gWkoLg# ze6JfhM59W zRj(__+8)KxTqC=aI6_7~^lXJ&Zn#yCAbZXF+O;^&fc{v`Yo`w&I z4mQq;-)r7<&o|aSv_7g7Bo$bH`p}}xpj_U!_4tx*C z$sUC{4JNG60Bs8%=Wj`-7E+I_O{5kKtNGdpRT$w^S5>pJcy>y2PhGwm({g6&GZ>xY znT;d(#Ln68J?!1fv%lD=B&5@0s#i4kirMK)E1*8SBDeem>xratNWb12bG^_H zv4zr4_?0CTyzim!X4`a|7D_cd5wX9DN?wJciJUZ1HHkH8LRlKNw0xHP_=ctFjAF%L z1#{)CQLs^W<=2w+J%>kvSKXWGePVBf)gAEI%cU`SRiCrJQwdQL))RR~gx1uL^`EFj z1}y9N^I>iMvU4b>6_ZOVR5U6P4W*(&upf11hLVqV$)rpTS`|5*SL@u}8#~#Ty5#w4 zz#p+F6dOhx2iAFMD;4d}X$%rA(r?V??6z|38$HjD(Az9_n#UKVT5G*Br5=yvt{vI? zM2E;ScQ~&+OwW+I<4uZcEfQ}TDn#c##p|K26Wc3`Mpul+@Lu>Z@1)MjXCm{D^y%fh zHz!Xp&Hxw>TVe!s~=vG*{uuf%G}zutxVl%PnfDM&&E zy~F_C>9plVpLRfi#$qtbOZ3qdS)n`XEvswHA)|taLZRSLj3{6dPWWLXYMy)2%`Nt@ z2v=S;1(YmUaQNm?J-U&5a`np%ZzqO?_f=B_o>KTyL)2v57Zv_~q6lDQ;Rt2G9NIH0 z$U&!gOk{s8QzHQ5#{j1V?s^#Q)bXsBQdEOxVk>n+CZ-~Maq^5rnJjnoYa4k|LHQ9J zb5BYM&mP6@V#*@#w%4t!73cN6l{?nc(5U?pE7?ZCN8M~O`HyzLRrR=5#ybbhAlF?2 z0cqEWtlYa>k3Q?h!+gq@gBzhTk@_82r*PCFTuF1P1eL;hf*T&emoo}`SypMe2g3^+ zRh3JHN6s*jIz+LQa*uwj?HGxdkE6YV%4O6|UN zg1DrYe|ty`rftG#?i%akK9FqgSK3-v3|Q&oTCGFPna!sfU{wLpT_3g6ZG~ga7xCC_pFHH|}N=Q+L}b@9H|jIkE-GQ;CZ z#N)rR%)e^yerY@pg&M}xzd1V|mmCAO$n=SuA zm9C&+FKicQdtJ~I2DDxz=-XfUIy{2gv@AG z$f*wBf&z5lbg4g{)!<7X4T6v~PF~umwG_9-_oEa|Fuj)T4Rx^TWIuk%{pq(|TAFFW zV4HU~v%?Onr5?It7tp9s8*ihzs)l3E%2p(&7;xBIx%09do7xgw21}O8@Q^%y$CROw z3YIcW#)t^AxbHz0s1_#CQ(1cKb*ai*?77zVkjH4$~G35o2M(PT&~ybJuKg|GHc5sJC4{`I>{?4u@#G$Le#`% z5vC#>MBndi=4U+EXKX=JcjRg3@Ek1EXbKInS3QZ38oZbs_k!+CvEW7&B|PliT~9M> z2Ls*+`!YX&f*xTT6)4?^0(@+bYcF%O)PPAq9`<8u943E64Mi8Jzb7&(z5ej4to`X? z_tdO8Cf4*0tbVVdN^_JL6&nqG{C0%RF$U7)pwcy zwrc*N7k+J8`3J9jtuPdSmB7TTE4o37q17h`N2d@});@IT#IU7Ok{q zVCkZ;r#rMZpa;SH5AS%**1< z!p^E``1z)P`UBGp^-icisTM%5O14o58aSCz`CxeCpOvw<_TwC*+Jfd#?k}!?W|1J_ z622(3vsivK-7e!Sb|(iOF&9yCa7Gb*$DQ!0leayturiK|7zf)oN`9d^Fx45*-CvJw z_U)Abtg==^jWN|JD(9~aAGCz&_=+1f=&raX9emEPEh?-QxO0|!7_@gGjkEHZ349)@ zhgh!WW*0}meB~L`hY0I|(7&B!So2Z?6 zNTDbjBsKUOzJo>%7ab#Agz7gTq44-v?0_>V5$-xQPzTb<147Bw(N-iz;PZSH*$6PI zHhpsAwEzZJnsJ&Vh@C>x&c|&SR9fhVF~VD0eKnd;^oxz%^NRNW7Mb#W&!HzSYOsYCD*+vO~UDs*fzl*mp&GKpA*+@;+X3^&CSmc z7#sa{dw*nfNjbnO3Zz}GL$v@N;=Zndm3tqvsfA`6iz)2;n)D~dzFF&h*S`FU88MG- zaUpeWoZfA~?l2t|VqYL9Bz-jtf+O)Fso8U!b#PLO936Z3HTalG#!S<-BK^|99l~AC${*da@CVe(|K*W8ckj$mPe^9MjQ!tx34#L z9Gs(@rR(evwg7D-)S4$>ZPAAkkM13e6d!^>C0PUdIMU`%kXr^v8|Sp$cT>`dEYQ4` zqPkH>U+O#;7Q@1ciZ!w7-m*Cc*eWdVTsH7N+6$^S-c4?Ae%-jV{&1lJNe6tn?Xm(| z;eI2~IL@2k{J2(Jxck`B>GCMw0F=pspSHU7#R z%6my_&Sk#+uuZgRzMWrS-9At0y+HKU5+y0W4`6fGLg%LWV@Nje5LoxU9@?WNv0ADQmdj zxR`>mzwH(r0PP}NQ7P4CPSI6(X-R?FMZ>~OYrR%ChQqbLO6IcxCa;<6_F&IZJNGP_($SRrcEloT$U?zCqQQa zI6&kPuz3IyUr+@?xKQ9r2i|2<;1qym08RiX!WWQTOA^$W2vAs0#6uax`j5Zj-F)e@*?tA|zY#~>1wxu{j}X8~*SOvfH;anM>KrCJd9L*OQ@ z%vUVTH9Z)D#mp@y7O%{q${Ugdg&E&qeP_frJ-d~C@%a$OhhGuTQd4D5aFEfggR0gMWj zB+6*TwFmn8jiy_CRyLq)vsOO^w#`bcj$r)jldfPbwKNVslo{USG8i-3ve-+V0&ptC znVeXNL2|L*#0aJy4IAli_X?S7hs#OO3gBaap7=~Ky*FRlLkaL(dEfEr>;@~EL!eq} zUNo|_Mb@zI35%WLRtLnWm#Rw1px3^^@OYh0gYAMh(G#5XvgR2JELE0Ssq^W_C*sc% zqf}`JNw?qZ#};eNmy#Ht2wdkO+R?s2;fn#&04jaX2q<2V3WByI015!;&y;i&>a0Xl zR5h$g@h2TgQcHyi+8OAvExp>;5zwRs!Wd?tdmxZ!9*8&oQ4VcRqhaaInPktOzHdB| zKLB;jh$>hZT&S?RF>`<>A79hxb$Jt0u%hH;xN-%#I!gD5|BQRo~CPfJ<{bq<-j*(VvHP_zXSWX|e~ zNJC|gJjzE}az`0TM?$vjy9A_o#`@`fr%k9?wp)4KVlg+gxChx>zj)m<;N3E?xPH;P z8MWE5p~~<~_oyS*t)XUFZu#>i?|aHS(9C7bFqsx6oav)ymQiv2?6C=38k98#uOr_v zzo!SCLXvzYHE-5e3oML(mxz5Y_`r<45&yuA^^tzQn9I`l(Vt)O_evh)%~y^#$gXA& z-~C|X`xx4v1e~nRpr=Ihbzz-mc}& zV5`@+bm)e2$b2-AYZPaNk_dcTdt5*dYLs_-jbS2}$()hQR3RQs+Iwt(jgdTKbFJY> zHrklsqL3wwBfg_@Yv3{BA@YLuF=M}dOFk-dKDF)xcB2V&pS_f^3wSn{&!8oKCL~XL zgFEGIz*X51yD^$f+|Ze)1CBfx;m*!kLGr~2sWAg*3J#@mHj9bs%o|vP>Q2X}<{roJ z`@Jukr$Sr9A;u9{Sq(yrN%&{+C04PI){SKHlSl^7tQbrc=a^kDb zkp%fO+c%-~NCaq@=IcZjr>kxA!AGUqx+p(FkK&Hu&c4n`o*D1Lj>R7=tnEuDT3T9-J)K5=jA*7nu7dA-P(xbF6EsWH@;{P@15@J8BIoB zyK;^V(S|Xd-%@7fRY4{L9)pSrP%X6oT_UuV$xeol!em{Y|et~Wp` z*Ey%klZ`)KO+TG!th>DQ#b8OrbV+dN*eZib!nK2r{8}QRkBJrraos%mxm&nlOS%n- zpo%#{&RK&5X#1ZWX= z+_SPD9aa^#Fwx3ucd8sG@tMk_HMo^;l*byS-b&HRl!IkShTNF0vzX=1@+jq%(4^Q( zD5W}CMciDJNP~po7jtD(Kkn7%F}@!Scl3Kn5wv&JdLlT4${TY4Dky8IYmqCn6(}$( zy#u=OC3%cW#k`<;o#mmK5v}F%gs~Zt1a{kh|b%W?#Gtnm`@Kh zT}SZW{mkfkcHO(_u$x<_%x+mwSz!5KG*b+dfkdhNV> zHqM!7nh?IXMFjY<-p;!l7PS~wfh0?2*3yQ6%scFClZbTW>+&=ec^`QWvo$iwD8UGX z;e=t4eu&5!I4KlX@&#HbU(PN{VtKR*1afw9q-ynh1MTS8@hHdl!n8)774a4G74`J8 z6$xuV%}id2`pdWXylyt& z{W&{G!`t7-!J;4vuJ7X4JrwUeWP(M~ammM@{MH4S`kd+Y7xA_~(&aznZ7hr|4F3qY z{e@(O^|uJle@-F(=KzX!EVs>PVW1!n8T!2(RNW-nt_l9eB0B0&@6b$D`y7rv7opQ%sULR zF#?vc*}__k7vJ2S?RrQ70j@J~>~k<=HWsedF`E)?n(>Y0@-BYn(k^tQ-I}0+EN$Lw zhT~p)(=2B1Sjs|Zm(xCov2bW5)C>iiAZwK3)<1Oc*?-grq_)4&Q#q<;N+jjG$Ji7e zKj7M(4rs;KW7I?3UGY7lD~6XUSib@FXWGpFyAgjk%->ZR3=IFU;b*Au&v5YnLY1MY zA|)&)L#bqLZR{Xp?4n?6t#2czD6RAlfx#a|Zh!BA|Jeoq_dfqEg83N=`;1_+;4{!M zF@Hud8ULO_PAl%HZ)I-CZ)0j@{I^0jwEPZ+zg4wi`>fUbIUi{MlxTbwX8En*p97em zMWlXf`c0Pc-!vM($LIbzU`PMY0lPmf^S1&2O91nKw$gu$Vlp!PKKj4tG=Bez{x+rm z2wLLP{*O^ihR>R~{~nS2ZMFRK0kZx@20rV5&%jsw$FYAF^r090zhaWs${to&E;wEF zZ%!Lfv(q+%yhzA_=m9^fp{(gjRQOxVFe~bpm*pjr>)qJxwq0JiUQTZq-v`3Hyt8n4 zufHLZ+HKb#1vEMW50o`_>!kGsevN{xH1>D$WzszcdDL#bt2)}fP%oZ&=*(VtSm?7_ z?qgzRwzlS3GMvPnw2*4U+jt|JsSndn{Y)Aq;ce#k{zhc)f~&!QP4e7VEnQlvD`#Qf zrhuW*_^LN(TCbmarpsP&gnh_ser(P=Z|Z&8w!u?)yVm;}$=;1^2uIIr63rmX`11XN zeu8d-QP&7puaSOyEE@K&H>&-iwXz z4V>ymG}R9XBVj&&OCa?XpD1mD+YcxL%Mq`rYR!|6C5nw?(-XYfw_qJhG#@(;Jb zD#9mo!+1|5aj%Q;wApN7dtA$(7_?)qq^oXlP+Id@OoG$cbNOJ^Yb)l8ejO`|#q)yI z-hus7a`V|izQhGBGkZM~&`s6BparG*bzvf7a@#rBgwt{$&0# z<5KQ0;n!-a^3ZnC_+$&~F5)=zFR~xPxow6G4DQMk+s;-c#7%8k5d+7K$$>HYDt6{c z0u>t}D?@rzS`T95jkRF?1+QPyrvL(Uu~(-V3Y&+Ii} zEhOZ|8hWzPtkb^=a6QZ8;W_==TT~O8ErC{V#HuIW*u&oPr8=K%D)e^(BREV?4YfCp zcz*p!BvgQ)YP1etYK4b-+@d?v4An2FHD77OtBJ?=zTSKhG;m8@e3R*-g!tjhtq18# zq6f_Z<_E3b^Yt~cBWAbG%JAh_9kk6csU*@uvkU22+d>y!0NT0m4k-uAg?baTdsfbZ z3^GoMSeo3c_?_MjZ}@!x7I9l}H3wKAx*D3>S7VBbo!?&Ou?zxiPc}~&`F5(MgaslsH@WQ}Hr=>$=+w~-B){LM~CSvkh>1Sw9FfEJ(!t|_>B0K-! zndMR|eOonjN5MtGma86ktdG`(JT@+l48N`0HB=PasVpE-3;Z(S>TSO6L%@7dYs&?n zD1VEt}XA&eqOZFxtX$Q9YA1SAJ zMeyT8`$B|5L&a#jt;lv{{dvhl&(SaG7a-68X$5qs2bU<*o{n`*=FlAvTU(kl)gdf|q8V@)AZ7iA6Kz z5g$UagP%QQ=tnM1+lbv5dM`5tv~0aXAm<(F+o6lZEmpdxXF1exFS6#z`qJ1)XkP2#>`7!XG>`g0sQ^~>(eC{cJbzt0l0Yds zKpioKuGVUfZI7gjNa~LKlzxi4gn_3qkEGM?qi_>K*y%WiZ6dd%55{* zk(C2?=M6hgpu9q1ZhM|hOJho z*hu&&?|Wx44wPt0N4$0+uByZ(zKi#aZOlDu8V+7ikNUB&`jek@;kb~p3#TowjJPB| zEs-9yA3ij+U`U$1oJMUE&67E>+?8Ed(|1{5i?9=h4Rs7!{nF$qkr7g>2e&TL*SHTG zgKsj&L=Fo?y8BB#$X3-gDj}YbftNqiAu)9nYJAwFCB*c|x`->Zt~1rc&)U|-U{OHM zcI^zPj5Xjljx}wT#$g;*waU(g<)c6v)AS3pk><>)AH~NP^ zAaim233>C*e{F0J>d#-_xkuV$)8{BX0hD&B`mq8;A=y?eovX>37ZbpbEv7!*eKKtL zaLN~R1*t%;EMiLBdbuyeaVyz;ntC2|q*DqCFKDPLIJj?Guq1?ncr%4b1DJ(MagWIM zS+<$fAFhEX3Yv)q$Fy3|VF$iomj+6h7x``Hr+FZS3Zf!ASxj_HRPut~E1u04eB!_O z!T3)Jg!Js60@uGM5VHP70wL@FLjqykgiQb)%)o^k6keMkXdqBoU~JKOkG>C6BX~}j zIZ@P?pxf>h+URnbWx(rEG@lwn)8hBSrmuYWTWJ5Mva1V?tBAsasJPGvp9H~X5)$1I zH_Xqyb7!F7!@7dDu{EK_f^B+}-A%Wc-1P1ZYNT3F3Tnk5M8QOY79!OWZ4KCn77-+= zilzRRVk?;b2&F>sq1p%W%-n1?Gm})^C0X{{GjnFnoVjz(aAuCbbKi+auk6`AxTA4m zvG;JcdDp?u_rCu3?)7iZzx~wdANN(GcM3DP;^gAcx@Vp{`{9mn{%pPhJ$?0#PmkPw zdhg`Tuk9bN-YX8S8+~c|#+SQ3`F%Kv77mQI{BiuJ#h;%aXc&0*wx03)Xr*W9f!(K$ zef;oS4Oea|j9>VYrjCeHpkKX$xlY+-D2l|fk%ddP6yieEk0 zt{w`vY*#)M4wN9FcZQd)Qw^^s-kPyh!x zwQ0GwWey~o-Lhp)eEq#{nAa%&-7aTHTd6C}R#Ni@uX}h}*`}InJ=x^ionF%*CnP=O zZCm93JFbxFM51d&7c#EqTKeWp4RQLvhW+Ailcf{ zJ-5?O39bNVE6X$KX~dVSco({)F-%Zj?RanMJ#7j5OI1B48!JT>Y)O>w*@=jDOc1n3 zeWUuUJYwl@S{R*68kdiT!SU1SH*3$Lx{sEs7~DpYL@~;CM~|1|Z~%3L$*$5sm{j^g zVAqb@;SZI8qNCCmN7bmDAn>G$(GyjaSL`a$;C+xR6lE!fGsyz`gnI&$HcaovIHl`|iq|8l-wP19x}6Wf1CIK2 z_p}6&mW*<{mW1$RTq(2P!$Uk>UnBl6mr@+7$~wmZa}Bvm94Unr`yIDRX0mmbllN3%0MY?I_9~2 zSpfS&R(){$hQk9?!qePf)d6WAc#1kqfAmip4kR0Q2nnKuw+ga!Rn>H&{5N%@?M$ zXZJVonNwfjdyf3T7=Vje%=QJKy0%^gFuZnK1eUNUnPmmR%0w{wD`2|W?E}o2GlED* z*Mwl))&syCJr#n(!f5doFwt#HQnl!Y6YjFptH ze1;`)2zS%O8D&LvRYpo`{ZMYjw%m13V=bncUVorIMFMP1ZzQLT3QO5 H@6Y@LANXjO diff --git a/devPneumatic/PneumaticValve53.svg b/devPneumatic/PneumaticValve53.svg deleted file mode 100644 index c4a9a74..0000000 --- a/devPneumatic/PneumaticValve53.svg +++ /dev/null @@ -1,814 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValve53.xml b/devPneumatic/PneumaticValve53.xml deleted file mode 100644 index 79918ed..0000000 --- a/devPneumatic/PneumaticValve53.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - Pnenumatic Valve53. - PneumaticValve53.nb - PneumaticValve53.pdf - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticValves.svg b/devPneumatic/PneumaticValves.svg deleted file mode 100644 index 2931f4b..0000000 --- a/devPneumatic/PneumaticValves.svg +++ /dev/null @@ -1,820 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devPneumatic/PneumaticVolume2.hpp b/devPneumatic/PneumaticVolume2.hpp deleted file mode 100644 index 93bf86e..0000000 --- a/devPneumatic/PneumaticVolume2.hpp +++ /dev/null @@ -1,308 +0,0 @@ -#ifndef PNEUMATICVOLUME2_HPP_INCLUDED -#define PNEUMATICVOLUME2_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticVolume2.hpp -//! @author Petter Krus -//! @date Wed 13 Mar 2013 15:36:17 -//! @brief Pneumatic volume -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14.IEI, Documents, CompgenNG}/PneumaticNGM.nb*/ - -using namespace hopsan; - -class PneumaticVolume2 : public ComponentC -{ -private: - double mV; - double mR; - double mcv; - double mka; - double mT0; - double malpha; - double mpmin; - Port *mpPp1; - Port *mpPp2; - Port *mpPmass; - double delayParts1[9]; - double delayParts2[9]; - Matrix jacobianMatrix; - Vec systemEquations; - Matrix delayedPart; - int i; - int iter; - int mNoiter; - double jsyseqnweight[4]; - int order[1]; - int mNstep; - //Port Pp1 variable - double pp1; - double qmp1; - double Tp1; - double dEp1; - double cp1; - double Zcp1; - //Port Pp2 variable - double pp2; - double qmp2; - double Tp2; - double dEp2; - double cp2; - double Zcp2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double mass; - //InitialExpressions variables - double fak; - double Tav; - double pav; - - //LocalExpressions variables - double ZcEP; - double cdp1; - double cdp2; - //Expressions variables - //Port Pp1 pointer - double *mpND_pp1; - double *mpND_qmp1; - double *mpND_Tp1; - double *mpND_dEp1; - double *mpND_cp1; - double *mpND_Zcp1; - //Port Pp2 pointer - double *mpND_pp2; - double *mpND_qmp2; - double *mpND_Tp2; - double *mpND_dEp2; - double *mpND_cp2; - double *mpND_Zcp2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //outputVariables pointers - double *mpND_mass; - Delay mDelayedPart10; - Delay mDelayedPart11; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new PneumaticVolume2(); - } - - void configure() - { - const double V = 0.001; - const double R = 287.; - const double cv = 718.; - const double ka = 0.; - const double T0 = 300.; - const double alpha = 0.1; - const double pmin = 1.; -//==This code has been autogenerated using Compgen== - - mNstep=9; - jacobianMatrix.create(1,1); - systemEquations.create(1); - delayedPart.create(2,6); - mNoiter=2; - jsyseqnweight[0]=1; - jsyseqnweight[1]=0.67; - jsyseqnweight[2]=0.5; - jsyseqnweight[3]=0.5; - - mV = V; - mR = R; - mcv = cv; - mka = ka; - mT0 = T0; - malpha = alpha; - mpmin = pmin; - - //Add ports to the component - mpPp1=addPowerPort("Pp1","NodePneumatic"); - mpPp2=addPowerPort("Pp2","NodePneumatic"); - - //Add inputVariables ports to the component - - //Add outputVariables ports to the component - mpPmass=addWritePort("Pmass","NodeSignal", Port::NOTREQUIRED); - -//==This code has been autogenerated using Compgen== - //Register changable parameters to the HOPSAN++ core - registerParameter("V", "Volume", "m3", mV); - registerParameter("R", "Gas constant", "J/Kg K", mR); - registerParameter("cv", "heatcoeff", "J/Kg K", mcv); - registerParameter("ka", "heat conductance", "J/Ks", mka); - registerParameter("T0", "Outside temperature", "K", mT0); - registerParameter("alpha", "numerical damping", "", malpha); - registerParameter("pmin", "numerical min pressure", "", mpmin); - mpSolver = new EquationSystemSolver(this,1); - //Set start values in nodes - //Port Pp1 - setStartValue(mpPp1, NodePneumatic::PRESSURE,100000.); - setStartValue(mpPp1, NodePneumatic::MASSFLOW,0.); - setStartValue(mpPp1, NodePneumatic::TEMPERATURE,293.); - setStartValue(mpPp1, NodePneumatic::ENERGYFLOW,0.); - setStartValue(mpPp1, NodePneumatic::WAVEVARIABLE,0.); - setStartValue(mpPp1, NodePneumatic::CHARIMP,0.); - //Port Pp2 - setStartValue(mpPp2, NodePneumatic::PRESSURE,100000.); - setStartValue(mpPp2, NodePneumatic::MASSFLOW,0.); - setStartValue(mpPp2, NodePneumatic::TEMPERATURE,293.); - setStartValue(mpPp2, NodePneumatic::ENERGYFLOW,0.); - setStartValue(mpPp2, NodePneumatic::WAVEVARIABLE,0.); - setStartValue(mpPp2, NodePneumatic::CHARIMP,0.); - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Pp1 - mpND_pp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::PRESSURE); - mpND_qmp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::MASSFLOW); - mpND_Tp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::TEMPERATURE); - mpND_dEp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::ENERGYFLOW); - mpND_cp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::WAVEVARIABLE); - mpND_Zcp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::CHARIMP); - //Port Pp2 - mpND_pp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::PRESSURE); - mpND_qmp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::MASSFLOW); - mpND_Tp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::TEMPERATURE); - mpND_dEp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::ENERGYFLOW); - mpND_cp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::WAVEVARIABLE); - mpND_Zcp2=getSafeNodeDataPtr(mpPp2, NodePneumatic::CHARIMP); - //Read inputVariables pointers from nodes - //Read outputVariable pointers from nodes - mpND_mass=getSafeNodeDataPtr(mpPmass, NodeSignal::VALUE); - - //Read variables from nodes - //Port Pp1 - pp1 = (*mpND_pp1); - qmp1 = (*mpND_qmp1); - Tp1 = (*mpND_Tp1); - dEp1 = (*mpND_dEp1); - cp1 = (*mpND_cp1); - Zcp1 = (*mpND_Zcp1); - //Port Pp2 - pp2 = (*mpND_pp2); - qmp2 = (*mpND_qmp2); - Tp2 = (*mpND_Tp2); - dEp2 = (*mpND_dEp2); - cp2 = (*mpND_cp2); - Zcp2 = (*mpND_Zcp2); - - //Read inputVariables from nodes - - //Read outputVariables from nodes - mass = mpPmass->getStartValue(NodeSignal::VALUE); - -//==This code has been autogenerated using Compgen== - //InitialExpressions - fak = 1/(1 - malpha); - Tav = (Tp1 + Tp2)/2.; - pav = (pp1 + pp2)/2.; - mass = (mV*pav)/(mR*Tav); - - //LocalExpressions - pav = mpmin/2. + ((-mpmin + pp1 + pp2)*onPositive(-mpmin + pp1 + \ -pp2))/2.; - Tav = (mV*pav)/(mass*mR); - ZcEP = (fak*mR*mTimestep)/((mcv + mR)*mV); - cdp1 = cp2 + 2*(dEp2 + (mka*(mT0 - Tav))/2.)*ZcEP; - cdp2 = cp1 + 2*(dEp1 + (mka*(mT0 - Tav))/2.)*ZcEP; - - //Initialize delays - delayParts1[1] = (-2*mass - mTimestep*qmp1 - mTimestep*qmp2)/2.; - mDelayedPart11.initialize(mNstep,delayParts1[1]); - - delayedPart[1][1] = delayParts1[1]; - } - void simulateOneTimestep() - { - Vec stateVar(1); - Vec stateVark(1); - Vec deltaStateVar(1); - - //Read variables from nodes - //Port Pp1 - pp1 = (*mpND_pp1); - qmp1 = (*mpND_qmp1); - dEp1 = (*mpND_dEp1); - //Port Pp2 - pp2 = (*mpND_pp2); - qmp2 = (*mpND_qmp2); - dEp2 = (*mpND_dEp2); - - //Read inputVariables from nodes - - //LocalExpressions - pav = mpmin/2. + ((-mpmin + pp1 + pp2)*onPositive(-mpmin + pp1 + \ -pp2))/2.; - Tav = (mV*pav)/(mass*mR); - ZcEP = (fak*mR*mTimestep)/((mcv + mR)*mV); - cdp1 = cp2 + 2*(dEp2 + (mka*(mT0 - Tav))/2.)*ZcEP; - cdp2 = cp1 + 2*(dEp1 + (mka*(mT0 - Tav))/2.)*ZcEP; - - //Initializing variable vector for Newton-Raphson - stateVark[0] = mass; - - //Iterative solution using Newton-Rapshson - for(iter=1;iter<=mNoiter;iter++) - { - //Volume2 - //Differential-algebraic system of equation parts - - //Assemble differential-algebraic equations - systemEquations[0] =mass - (mTimestep*(qmp1 + qmp2))/2. + \ -delayedPart[1][1]; - - //Jacobian matrix - jacobianMatrix[0][0] = 1; -//==This code has been autogenerated using Compgen== - - //Solving equation using LU-faktorisation - mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - mass=stateVark[0]; - //Expressions - Tp1 = Tav; - Tp2 = Tav; - cp1 = cdp1 + (mka*(mT0 - Tav)*ZcEP)/2.; - cp2 = cdp2 + (mka*(mT0 - Tav)*ZcEP)/2.; - Zcp1 = ZcEP; - Zcp2 = ZcEP; - } - - //Calculate the delayed parts - delayParts1[1] = (-2*mass - mTimestep*qmp1 - mTimestep*qmp2)/2.; - - delayedPart[1][1] = delayParts1[1]; - - //Write new values to nodes - //Port Pp1 - (*mpND_Tp1)=Tp1; - (*mpND_cp1)=cp1; - (*mpND_Zcp1)=Zcp1; - //Port Pp2 - (*mpND_Tp2)=Tp2; - (*mpND_cp2)=cp2; - (*mpND_Zcp2)=Zcp2; - //outputVariables - (*mpND_mass)=mass; - - //Update the delayed variabels - mDelayedPart11.update(delayParts1[1]); - - } -}; -#endif // PNEUMATICVOLUME2_HPP_INCLUDED diff --git a/devPneumatic/PneumaticVolumeM.hpp b/devPneumatic/PneumaticVolumeM.hpp deleted file mode 100644 index 2ba9505..0000000 --- a/devPneumatic/PneumaticVolumeM.hpp +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef PNEUMATICVOLUMEM_HPP_INCLUDED -#define PNEUMATICVOLUMEM_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file PneumaticVolumeM.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 11 Aug 2020 11:21:36 -//! @brief Pressure source -//! @ingroup PneumaticComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, PneumaticDevelop, \ -PneumaticComponents}/PneumaticVolumeM.nb*/ - -using namespace hopsan; - - class PneumaticVolumeM : public ComponentC - { - - private: - double mPh; - double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; - Port *mpP1; - size_t mNumPorts; - std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; - double *mpV, *mpR, *mpcv, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; - - std::vector mvCnew; - std::vector mvC0; - - public: - static Component *Creator() - { - return new PneumaticVolumeM(); - } - - void configure() - { - //Add ports to the component - mpP1 = addPowerMultiPort("P1", "NodePneumatic"); - - addConstant("P_high", "High pressure (for animation)", "Pa", 2.e6, mPh); - - //Add inputParammeters to the component - addInputVariable("V", "Volume", "m3", 0.0001,&mpV); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718.,&mpcv); - addInputVariable("ka", "heat conductance", "J/Ks", 0.,&mpka); - addInputVariable("T0", "Outside temperature", "K", 300.,&mpT0); - addInputVariable("alpha", "numerical damping", "", 0.1,&mpalpha); - addInputVariable("pmin", "numerical min pressure", "",1.,&mppmin); - - setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); - setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); - setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); - - //Add outputVariables to the component - addOutputVariable("mass","Mass in volume","kg",0.001,&mpmass); - - } - - - void initialize() - { -// double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; - //Read inputParameters from nodes - V = (*mpV); - R = (*mpR); - cv = (*mpcv); - ka = (*mpka); - T0 = (*mpT0); - alpha = (*mpalpha); - pmin = (*mppmin); - //Read outputVariables from nodes - mass = (*mpmass); - - mNumPorts = mpP1->getNumPorts(); - mvpP1_p.resize(mNumPorts); - mvpP1_qm.resize(mNumPorts); - mvpP1_T.resize(mNumPorts); - mvpP1_dE.resize(mNumPorts); - mvpP1_c.resize(mNumPorts); - mvpP1_Zc.resize(mNumPorts); - mvC0.resize(mNumPorts); - mvCnew.resize(mNumPorts); - - //InitialExpressions -// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); - ZcE = mNumPorts*(fak*mTimestep*R)/((cv + R)*2*V); - - for (size_t i=0; i - - - - - - - image/svg+xml - - - - - - - - - diff --git a/devPneumatic/PneumaticVolumeM.xml b/devPneumatic/PneumaticVolumeM.xml deleted file mode 100644 index e05accb..0000000 --- a/devPneumatic/PneumaticVolumeM.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - Pnenumatic multiport volume. - PneumaticVolumeM.nb - PneumaticVolumeM.pdf - - - - - - - diff --git a/devPneumatic/PneumaticVolumeMulti.hpp b/devPneumatic/PneumaticVolumeMulti.hpp deleted file mode 100644 index 3db8ac1..0000000 --- a/devPneumatic/PneumaticVolumeMulti.hpp +++ /dev/null @@ -1,196 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file PneumaticVolumeMulti.hpp -//! @author Petter Krus -//! @date 2020-07-29 -//! Based on HydraulicVolumeMultiPort.hpp -//! author Bj�rn Eriksson -//! -//! @brief Contains a Pneumatic Volume Component -//! - -#ifndef PNEUMATICVOLUMEMULTI_HPP_INCLUDED -#define PNEUMATICVOLUMEMULTI_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentSystem.h" -#include - -namespace HopsanFMU8422 { - - //! - //! @brief A pneumatic volume component - //! @ingroup PneumaticComponents - //! - class PneumaticVolumeMulti : public ComponentC - { - - private: - double mPh; - Port *mpP1; - size_t mNumPorts; - std::vector mvpP1_p, mvpP1_qm, mvpP1_T, mvpP1_dE, mvpP1_c, mvpP1_Zc; - double *mpV, *mpR, *mpcv, *mpka, *mpT0,*mpalpha,*mppmin,*mpmass; - - std::vector mvCnew; - std::vector mvC0; - - public: - static Component *Creator() - { - return new PneumaticVolumeMulti(); - } - - void configure() - { - //Add ports to the component - mpP1 = addPowerMultiPort("P1", "NodePneumatic"); - - addConstant("P_high", "High pressure (for animation)", "Pa", 2e6, mPh); - setDefaultStartValue(mpP1, NodePneumatic::MASSFLOW, 0.0); - setDefaultStartValue(mpP1, NodePneumatic::PRESSURE, 1.0e5); - setDefaultStartValue(mpP1, NodePneumatic::ENERGYFLOW, 0.0); - - //Add inputParammeters to the component - addInputVariable("V", "Volume", "m3", 0.001,&mpV); - addInputVariable("R", "Gas constant", "J/Kg K", 287.,&mpR); - addInputVariable("cv", "heatcoeff", "J/Kg K", 718.,&mpcv); - addInputVariable("ka", "heat conductance", "J/Ks", 0.,&mpka); - addInputVariable("T0", "Outside temperature", "K", 300.,&mpT0); - addInputVariable("alpha", "numerical damping", "", 0.1,&mpalpha); - addInputVariable("pmin", "numerical min pressure", "",1.,&mppmin); - //Add outputVariables to the component - addOutputVariable("mass","Mass in volume","kg",0.001,&mpmass); - - } - - - void initialize() - { - double V,R,cv,ka,T0,alpha,pmin,mass,fak,Tav,pav,ZcE; - //Read inputParameters from nodes - V = (*mpV); - R = (*mpR); - cv = (*mpcv); - ka = (*mpka); - T0 = (*mpT0); - alpha = (*mpalpha); - pmin = (*mppmin); - //Read outputVariables from nodes - mass = (*mpmass); - - mNumPorts = mpP1->getNumPorts(); - mvpP1_p.resize(mNumPorts); - mvpP1_qm.resize(mNumPorts); - mvpP1_T.resize(mNumPorts); - mvpP1_dE.resize(mNumPorts); - mvpP1_c.resize(mNumPorts); - mvpP1_Zc.resize(mNumPorts); - mvC0.resize(mNumPorts); - mvCnew.resize(mNumPorts); - - //InitialExpressions -// ZcE = double(mNumPorts)*betae/(2.0*V)*mTimestep/(1.0-alpha); - ZcE = double(fak*mTimestep*R)/((cv + R)*V); - - double pTot=0.0; - for (size_t i=0; i - - - - - - - image/svg+xml - - - - - - - - - diff --git a/devPneumatic/PneumaticdEsensor.svg b/devPneumatic/PneumaticdEsensor.svg deleted file mode 100644 index aa1e812..0000000 --- a/devPneumatic/PneumaticdEsensor.svg +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - dE - - - diff --git a/devPneumatic/compile.bat b/devPneumatic/compile.bat deleted file mode 100644 index 704a1c2..0000000 --- a/devPneumatic/compile.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -set PATH=C:/Program Files/Hopsan212/mingw64/bin;%PATH% -@echo on -if exist PneumaticLib.dll ( - del PneumaticLib.dll -) -g++ -I"C:/Program Files/Hopsan212/HopsanCore/include" -fPIC -w -Wl,--rpath,"C:/Users/petkr14/Dropbox/HopsanComponents/PneumaticDevelop" -DRELEASECOMPILING -std=c++11 Pneumatic.cc -L"C:/Program Files/Hopsan212/bin" -lhopsancore -shared -o PneumaticLib.dll diff --git a/devPneumatic/desktop.ini b/devPneumatic/desktop.ini deleted file mode 100644 index a7cc8d5c1ed26f8581fee52d36cafb40252177e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmZXOK??z45Qd+#U$IAujg+LENV$n44oi!z-EU>7@7Lp5SG~>j&dk%yeBOIfcHGD* z)xyYV)SAGBnj; - - - - - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/devPneumatic/volume_user.svg b/devPneumatic/volume_user.svg deleted file mode 100644 index 4948228..0000000 --- a/devPneumatic/volume_user.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/devPneumatic/volume_user_movable.svg b/devPneumatic/volume_user_movable.svg deleted file mode 100644 index eec81a5..0000000 --- a/devPneumatic/volume_user_movable.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/devPneumatic/volume_user_overlay.svg b/devPneumatic/volume_user_overlay.svg deleted file mode 100644 index 9da55d6..0000000 --- a/devPneumatic/volume_user_overlay.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/devPneumatic/volumemulti_iso.svg b/devPneumatic/volumemulti_iso.svg deleted file mode 100644 index 7a03a21..0000000 --- a/devPneumatic/volumemulti_iso.svg +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - From df34f0a54b98b93abc5d9536404df83164c0bcb7 Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Sat, 13 Mar 2021 14:06:36 +0100 Subject: [PATCH 5/8] FuelCell updated --- .../Documentation/ElectricFuelcellL1.pdf | Bin 0 -> 367659 bytes .../Documentation/FuelCellEquations.nb | 1504 ++++ .../References/FuelCellModelling01339484.pdf | Bin 0 -> 663810 bytes ...Modelling1-s2.0-S1474667016396756-main.pdf | Bin 0 -> 427542 bytes ...Simulation_models_of_fuel_cell_systems.pdf | Bin 0 -> 1004410 bytes .../Examples/ElectricAircraftMissionADFC.hmf | 6860 +++++++++++++++++ .../Examples/ElectricFuelCellL1Test.hmf | 914 +++ FuelCellLib/Examples/ElectricFuelCellTest.hmf | 250 - .../FuelCellComponents/ElectricFuelCellL1.hpp | 474 +- .../FuelCellComponents/ElectricFuelCellL1.xml | 21 +- .../FuelCellComponents/ElectricFuelcellL1.nb | 1968 ++--- .../FuelCellComponents/ElectricFuelcellL18.nb | 1235 +++ .../FuelCellComponents/FuelCellEquationsB.nb | 4029 ---------- FuelCellLib/FuelCellComponents/FuelCellLib.cc | 1 - .../FuelCellComponents/FuelCellLib.pro | 36 + .../FuelCellComponents/FuelCellLib.xml | 6 + FuelCellLib/FuelCellComponents/compile.bat | 2 +- 17 files changed, 11881 insertions(+), 5419 deletions(-) create mode 100644 FuelCellLib/Documentation/ElectricFuelcellL1.pdf create mode 100644 FuelCellLib/Documentation/FuelCellEquations.nb create mode 100644 FuelCellLib/Documentation/References/FuelCellModelling01339484.pdf create mode 100644 FuelCellLib/Documentation/References/FuelCellModelling1-s2.0-S1474667016396756-main.pdf create mode 100644 FuelCellLib/Documentation/References/Simulation_models_of_fuel_cell_systems.pdf create mode 100644 FuelCellLib/Examples/ElectricAircraftMissionADFC.hmf create mode 100644 FuelCellLib/Examples/ElectricFuelCellL1Test.hmf delete mode 100644 FuelCellLib/Examples/ElectricFuelCellTest.hmf create mode 100644 FuelCellLib/FuelCellComponents/ElectricFuelcellL18.nb delete mode 100644 FuelCellLib/FuelCellComponents/FuelCellEquationsB.nb create mode 100644 FuelCellLib/FuelCellComponents/FuelCellLib.pro create mode 100644 FuelCellLib/FuelCellComponents/FuelCellLib.xml diff --git a/FuelCellLib/Documentation/ElectricFuelcellL1.pdf b/FuelCellLib/Documentation/ElectricFuelcellL1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..883758c14dedafc007b9594f3568817f2b028e19 GIT binary patch literal 367659 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%0DU5V5JcWog~|mB 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/WY<&Iy9DQaZzIvS5WFiM-imeTH>$5y-RJ(= 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�PjB#K#Pt!_#3E=VHM%Qk+{InwyhpN?A7MzAXvU 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ˑ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%0DOrc5P^^3IRLrT1TX|(pzh+e+-;N1X^rI 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 literal 0 HcmV?d00001 diff --git a/FuelCellLib/Documentation/FuelCellEquations.nb b/FuelCellLib/Documentation/FuelCellEquations.nb new file mode 100644 index 0000000..1ce4d57 --- /dev/null +++ b/FuelCellLib/Documentation/FuelCellEquations.nb @@ -0,0 +1,1504 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 69234, 1496] +NotebookOptionsPosition[ 66857, 1416] +NotebookOutlinePosition[ 67263, 1432] +CellTagsIndexPosition[ 67220, 1429] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Investigation of the Fuel Cell Equations", "Section", + CellChangeTimes->{{3.8029350390365705`*^9, 3.802935043126354*^9}, { + 3.8140024212036805`*^9, 3.8140024554051685`*^9}}, + ExpressionUUID -> "4f36eba9-0573-4e34-ad6d-9666b618a71b"], + +Cell["\<\ +In the literature cm is usually used as the length scale. Here SI units are \ +used which means that a factor 10^2 is sometimes used to compensate for this.\ +\>", "Text", + CellChangeTimes->{{3.8139996015276814`*^9, 3.8139999157836046`*^9}, { + 3.814002338310876*^9, 3.814002378715205*^9}}], + +Cell[BoxData[ + RowBox[{"ucell", ":=", + RowBox[{"Enernst", "-", "uact", "-", "uOhmic", "-", "ucon"}]}]], "Input", + CellChangeTimes->{{3.8029349691546545`*^9, 3.802935032734073*^9}, + 3.802938275565213*^9, {3.807512268170862*^9, 3.807512271517701*^9}, { + 3.8075227027282476`*^9, 3.8075227038791385`*^9}, {3.8075251893433814`*^9, + 3.8075251926326895`*^9}, 3.8140018669232607`*^9}, + ExpressionUUID -> "4e234c76-516e-47f3-b5ef-343fcf570de6"], + +Cell["Nernst equation", "Text", + CellChangeTimes->{{3.8029352421460624`*^9, + 3.802935247289757*^9}},ExpressionUUID->"95fef111-5b42-46c8-b21b-\ +c809779c997b"], + +Cell[BoxData[ + RowBox[{"Enernst", ":=", + RowBox[{ + FractionBox["dG", + RowBox[{"2", " ", "F"}]], "+", + RowBox[{ + FractionBox["dS", + RowBox[{"2", " ", "F"}]], + RowBox[{"(", + RowBox[{"T", "-", "Tref"}], ")"}]}], "+", + RowBox[{ + FractionBox[ + RowBox[{"R", " ", "T"}], + RowBox[{"2", " ", "F"}]], + RowBox[{"Log", "[", + FractionBox[ + RowBox[{"Ph2", " ", + SqrtBox["Po2"]}], + RowBox[{" ", "P0"}]], "]"}]}]}]}]], "Input", + CellChangeTimes->{{3.8075122937613444`*^9, 3.8075124607845902`*^9}, + 3.8075218983016095`*^9}, + ExpressionUUID -> "8d7d5e04-69cf-41a3-ab06-7d45e237ba12"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"uact", "=", + RowBox[{"-", + RowBox[{"(", + RowBox[{"ksi1", "+", + RowBox[{"ksi2", " ", "T"}], " ", "+", " ", + RowBox[{"ksi3", " ", "T", " ", + RowBox[{"Log", "[", "Co2", "]"}]}], "+", + RowBox[{"ksi4", " ", "T", " ", + RowBox[{"Log", "[", "ifc", "]"}]}]}], ")"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.8075132455239105`*^9, 3.807513309164328*^9}, + 3.8076041555559654`*^9, 3.8076046742966757`*^9, 3.8076048164224653`*^9, { + 3.812810807142397*^9, 3.812810813868497*^9}, {3.8140014155893655`*^9, + 3.8140014204414496`*^9}, 3.8140017287334538`*^9, 3.8140018834199424`*^9}, + ExpressionUUID -> "9b25d803-74cd-4065-a985-26367cd4de39"], + +Cell[BoxData[ + RowBox[{"uOhmic", ":=", + RowBox[{ + FractionBox[ + RowBox[{"rhoM", " ", "l", " ", + SuperscriptBox["10", "2"]}], + RowBox[{"A", " ", + SuperscriptBox["10", "4"]}]], "ifc"}]}]], "Input", + CellChangeTimes->{{3.807513370852277*^9, 3.807513392384618*^9}, { + 3.8075137594178853`*^9, 3.807513760609709*^9}, 3.8140004639605203`*^9, { + 3.8140014665033584`*^9, 3.8140014949026885`*^9}, {3.8140017692706947`*^9, + 3.814001773738082*^9}, {3.8140018075640726`*^9, 3.814001820987155*^9}, { + 3.8140018668833017`*^9, 3.8140018834313526`*^9}}, + ExpressionUUID -> "162a4d50-d22a-420e-be47-8ea0f03f276d"], + +Cell[BoxData[ + RowBox[{"rhoM", ":=", + FractionBox[ + RowBox[{"181.6", " ", + RowBox[{"(", + RowBox[{"1", "+", + RowBox[{"0.03", + RowBox[{"(", + FractionBox["ifc", + RowBox[{"A", " ", + SuperscriptBox["10", "4"]}]], ")"}]}], "+", + RowBox[{"0.062", + SuperscriptBox[ + RowBox[{"(", + FractionBox["T", "303"], ")"}], "2"], + SuperscriptBox[ + RowBox[{"(", + FractionBox["ifc", + RowBox[{"A", " ", + SuperscriptBox["10", "4"]}]], ")"}], "2.5"]}]}], ")"}]}], + RowBox[{"(", + RowBox[{"psi", "-", "0.634", "-", + RowBox[{"3", + RowBox[{"(", + FractionBox["ifc", + RowBox[{"A", " ", + SuperscriptBox["10", "4"]}]], ")"}], + SuperscriptBox["E", + RowBox[{"4.18", + RowBox[{"(", + FractionBox[ + RowBox[{"T", "-", "303"}], "T"], ")"}]}]]}]}], ")"}]]}]], "Input", + CellChangeTimes->{{3.807513438903061*^9, 3.807513634705281*^9}, { + 3.807603186062112*^9, 3.8076032340493603`*^9}, {3.8076033842215204`*^9, + 3.807603391561664*^9}, 3.8140004668519945`*^9, {3.814000595534025*^9, + 3.8140006002792687`*^9}, {3.814001883442341*^9, 3.8140018834523306`*^9}, + 3.8140021803777924`*^9}, + ExpressionUUID -> "4e6a9e14-d41b-42ca-ad75-634984a34f69"], + +Cell[BoxData[ + RowBox[{"Co2", ":=", + FractionBox["Po2", + RowBox[{"5.08", " ", + SuperscriptBox["10", "6"], + SuperscriptBox["E", + FractionBox[ + RowBox[{"-", "498"}], "T"]]}]]}]], "Input", + CellChangeTimes->{{3.80752276790214*^9, 3.8075228027580643`*^9}, + 3.8140004820556855`*^9, {3.8140006285429707`*^9, 3.8140006304461904`*^9}}, + ExpressionUUID -> "d1e9f246-1a4c-4470-a7a4-4d00683212bb"], + +Cell[BoxData[ + RowBox[{"ucon", ":=", + RowBox[{ + RowBox[{"-", "B"}], " ", + RowBox[{"Log", "[", + RowBox[{"1", "-", + FractionBox["J", "Jmax"]}], "]"}]}]}]], "Input", + CellChangeTimes->{{3.8075139638978267`*^9, 3.8075139871413584`*^9}, + 3.814000485094858*^9}, + ExpressionUUID -> "38954789-c639-4d2a-bd90-a66eef5be30c"], + +Cell["\<\ +Approximate expression for Log[1-x] to avoid infinite derivative.\ +\>", "Text", + CellChangeTimes->{{3.814000495713896*^9, 3.814000538277777*^9}, + 3.814002433945778*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"LogA1", "[", "x_", "]"}], ":=", + RowBox[{"-", + FractionBox[ + RowBox[{"1.3", " ", "x"}], + RowBox[{"1", "-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"0.93", "x"}], ")"}], "4"]}]]}]}]], "Input", + CellChangeTimes->{3.8126319801097*^9, 3.814000771150879*^9}, + ExpressionUUID -> "6c5eb4b1-ac64-4d2d-b1dd-b3f172d6017f"], + +Cell[BoxData[ + RowBox[{"uconA", ":=", + RowBox[{ + RowBox[{"-", "B"}], " ", + RowBox[{"LogA1", "[", + FractionBox["J", "Jmax"], "]"}]}]}]], "Input", + CellChangeTimes->{{3.8075139638978267`*^9, 3.8075139871413584`*^9}, + 3.8122019545460567`*^9, {3.8122027877134895`*^9, 3.812202806353181*^9}, + 3.8128109537436686`*^9, 3.81400055432629*^9, {3.8140007738635592`*^9, + 3.8140007771256742`*^9}, 3.814002492015295*^9}, + ExpressionUUID -> "38954789-c639-4d2a-bd90-a66eef5be30c"], + +Cell["Here is is tested without", "Text", + CellChangeTimes->{{3.8140024686754494`*^9, 3.814002479361373*^9}}], + +Cell[BoxData[ + RowBox[{"ucon", ":=", + RowBox[{ + RowBox[{"-", "B"}], " ", + RowBox[{"Log", "[", + RowBox[{"1", "-", + FractionBox["J", "Jmax"]}], "]"}]}]}]], "Input", + CellChangeTimes->{{3.8075139638978267`*^9, 3.8075139871413584`*^9}, + 3.8122019545460567`*^9, {3.8122027877134895`*^9, 3.812202806353181*^9}, + 3.8128109537436686`*^9, 3.81400055432629*^9, {3.8140007738635592`*^9, + 3.8140007771256742`*^9}, {3.814001538798457*^9, 3.8140015427331004`*^9}}, + ExpressionUUID -> "38954789-c639-4d2a-bd90-a66eef5be30c"], + +Cell[BoxData[ + RowBox[{"ksi2", ":=", + RowBox[{"0.00286", "+", + RowBox[{"0.0002", " ", + RowBox[{"Log", "[", + RowBox[{"A", " ", + SuperscriptBox["10", "4"]}], "]"}]}], "+", + RowBox[{"4.3", " ", + SuperscriptBox["10", + RowBox[{"-", "5"}]], + RowBox[{"Log", "[", "Ch2", "]"}]}]}]}]], "Input", + CellChangeTimes->{{3.807521136948608*^9, 3.807521204889324*^9}, { + 3.8075214178325996`*^9, 3.807521420569214*^9}}, + ExpressionUUID -> "4d87b107-ae01-4aca-a048-8037e19bf0aa"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"dS", "=", + RowBox[{".85", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], "2", "F"}]}]], "Input", + CellChangeTimes->{{3.8075130315046706`*^9, 3.80751305257767*^9}}, + ExpressionUUID -> "9335be56-42d8-474d-83af-64b378135919"], + +Cell[BoxData["164.025064604`"], "Output", + CellChangeTimes->{ + 3.807513053591527*^9, 3.807521643099425*^9, 3.8075218536984625`*^9, + 3.80752191770035*^9, 3.807522893539935*^9, 3.807603247387182*^9, + 3.807603322730194*^9, 3.807603397121693*^9, 3.807603511233593*^9, + 3.807603576655254*^9, 3.807604159446865*^9, 3.8076046780547523`*^9, + 3.8076048199599295`*^9, 3.807901776829618*^9, 3.809691695536545*^9, + 3.8096928320950303`*^9, 3.810007903067587*^9, 3.810879858697279*^9, + 3.8108799377763877`*^9, {3.8121985557061663`*^9, 3.8121985688243237`*^9}, + 3.812202828649744*^9, 3.8122862659462824`*^9, 3.812631994889812*^9, + 3.812809578256631*^9, 3.8128096228091364`*^9, 3.812810866732405*^9, { + 3.8133903804648647`*^9, 3.813390406126706*^9}, 3.814000354311224*^9, { + 3.814000424313463*^9, 3.8140004404909897`*^9}, {3.8140006077373533`*^9, + 3.8140006345501785`*^9}, 3.814000782368597*^9, 3.8140011385356503`*^9, + 3.8140013475353155`*^9, 3.814001385949638*^9, 3.814001430225088*^9, + 3.8140015018627253`*^9, 3.814001546955969*^9, 3.8140017375309415`*^9, + 3.8140017772890973`*^9, {3.814001824332512*^9, 3.8140018330924187`*^9}, + 3.8140018891548157`*^9, 3.814001927399007*^9, 3.8140021235274773`*^9, + 3.814002185416247*^9, 3.8140025137865276`*^9}, + ExpressionUUID -> "7cc10823-aeab-4bcc-b915-48142c5d1458"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"psi", "=", "23."}], ";", + RowBox[{"T", "=", "300"}], ";"}]], "Input", + CellChangeTimes->{{3.8075136990827837`*^9, 3.8075137003355756`*^9}, { + 3.807513808361994*^9, 3.8075138188864746`*^9}}, + ExpressionUUID -> "e58a9b40-f490-456e-9ee0-8de9ffc1c570"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"F", "=", "96485.33212"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"R", "=", "8.314"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Tref", "=", "298.15"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dG", "=", "228000.6"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"P0", "=", "1"}], ";"}], " "}]}], "Input", + CellChangeTimes->{{3.8075124743152857`*^9, 3.807512509747173*^9}, + 3.807512689525942*^9, {3.8075129091870856`*^9, 3.807512933171692*^9}, { + 3.8075216274893866`*^9, 3.80752163293712*^9}, {3.8096928148069544`*^9, + 3.8096928214391484`*^9}}, + ExpressionUUID -> "33b139e2-b839-44cb-a449-d49c476c604c"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"n", "=", "48"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"T", "=", "323"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"A", "=", + RowBox[{"62.5", " ", + SuperscriptBox["10", + RowBox[{"-", "4"}]]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"l", "=", + RowBox[{"25", " ", + SuperscriptBox["10", + RowBox[{"-", "6"}]]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Ph2", "=", "1.476"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Po2", "=", "0.2095"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"B", "=", "0.15"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Rc", "=", "0.0003"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ksi1", "=", + RowBox[{"-", ".948"}]}], ";", + RowBox[{"ksi3", "=", + RowBox[{"7.22", " ", + SuperscriptBox["10", + RowBox[{"-", "5"}]]}]}], ";", + RowBox[{"ksi4", "=", + RowBox[{ + RowBox[{"-", "1.0615"}], " ", + SuperscriptBox["10", + RowBox[{"-", "4"}]]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"psi", "=", "23"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Jmax", "=", + RowBox[{"672", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Jn", "=", + RowBox[{"22", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Imax", "=", "42"}], ";"}]}], "Input", + CellChangeTimes->{{3.807520406266676*^9, 3.8075204122384233`*^9}, { + 3.807521115821776*^9, 3.807521126020562*^9}, {3.807521230792799*^9, + 3.8075215759116573`*^9}, {3.8075216636945295`*^9, 3.8075217124200335`*^9}, + 3.8134875053060446`*^9, {3.814000434883108*^9, 3.814000436339897*^9}, { + 3.814000902114501*^9, 3.814000904225292*^9}}, + ExpressionUUID -> "5aaa5c6c-e89a-4f64-896b-b785eed88ad3"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"J", "=", + RowBox[{"ifc", "/", "A"}]}]], "Input", + CellChangeTimes->{{3.8075229245414724`*^9, 3.807522932888567*^9}, + 3.814001883466316*^9}, + ExpressionUUID -> "168b4911-a70e-4cc9-af2f-533b0981c3d0"], + +Cell[BoxData[ + RowBox[{"160.`", " ", "ifc"}]], "Output", + CellChangeTimes->{3.814001889369592*^9, 3.8140019276367617`*^9, + 3.8140021237382517`*^9, 3.8140021856350183`*^9, 3.814002514001303*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"160.`", " ", "ifc"}]], "Input", + CellChangeTimes->{{3.8140018834823*^9, 3.814001883487294*^9}}], + +Cell[BoxData[ + RowBox[{"160.`", " ", "ifc"}]], "Output", + CellChangeTimes->{3.814001889427533*^9, 3.814001927689707*^9, + 3.814002123795193*^9, 3.8140021856949596`*^9, 3.8140025140582533`*^9}] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Ch2", "=", "1"}], ";"}]], "Input", + CellChangeTimes->{{3.807523110600075*^9, 3.8075231351083736`*^9}}, + ExpressionUUID -> "de1ab2e4-6bfb-422f-8ef8-a2661e4bda62"], + +Cell[CellGroupData[{ + +Cell[BoxData["rhoM"], "Input", + ExpressionUUID -> "620d71f4-2c3c-44af-a9fc-86f7ce71589f"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"181.6`", " ", + RowBox[{"(", + RowBox[{"1", "+", + RowBox[{"0.00048`", " ", "ifc"}], "+", + RowBox[{"2.2814525138382176`*^-6", " ", + SuperscriptBox["ifc", "2.5`"]}]}], ")"}]}], + RowBox[{"22.366`", "\[VeryThinSpace]", "-", + RowBox[{"0.06217944881958792`", " ", "ifc"}]}]]], "Output", + CellChangeTimes->{3.81400188963232*^9, 3.8140019278964934`*^9, + 3.8140021240029783`*^9, 3.81400218589675*^9, 3.8140025142750216`*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"ksi2", ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "30"}], "}"}]}], "]"}]], "Input", + CellChangeTimes->{{3.807603078846569*^9, 3.8076030798337865`*^9}, { + 3.8140010255948524`*^9, 3.814001026552495*^9}, 3.814001883563216*^9}, + ExpressionUUID -> "62a9af8a-eade-44e7-ac2e-69be48f98025"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJxTTMoPSmViYGAwAWIQ/e3eySMq3UvstNJ3vXcxybN3U3l19+P1S/Yw/s/r +5lM/XH8E5x92Xr7k4qLPcL7M/Z3PknT+wvkiOfGr2J2ZHWD8SYZuu/1COeD8 +mzMMDnwU4IXzu5fUn2eSFITzxac87pw8VxjObw/xtLv0TRTOL7ZcGH+ySQLO +d3n/qyrvsRSc32gTmChlIQvnW62buaVuvzycn/PjY8MJXkU4/6e2wD3dUCU4 +32b1mgXTpinD+R+FvBLCDqnA+U96EsKK2NXgfM/35Z5PzdTh/DfJHMVb6jUc +EOEpztR+SBPOFzqr1rfhvRacL9OxPsDMTAfOn6FtKSCcrgvnn5JyNP08UQ/h +H5lDE/Sv6cP5fMyLShKbDOB8uUZ5m0g1QzifUzVmW9BxBF/PVnJ9eawRnF90 +T+iwF4MxnP/+c0+o5wwE313/2CxPXRM4f99n69/fzyH4eTpGty6mmsL5tu9S +rkRymsH5rioSvryLEHyNhq6KQ+bmcL5WquV+1VsIfuq+jJYthRZw/v4FV1I+ +ilrC+V9W/P+uvx3BT1ZdzTnL1woRX1qTzTZ9QPB3LPn98GuHNZwf5aLsYC1n +A+dL57bv1DuA4Ity5Wz0DbeF829ZT768bDWCPy9319f//xF8ADt5Yw0= + "]]}, + Annotation[#, "Charting`Private`Tag$9113#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0, 30}, {0., 0.007374066622696943}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{ + 3.8140010278644705`*^9, 3.814001138934239*^9, 3.814001348187642*^9, + 3.814001386476096*^9, 3.8140014307485485`*^9, 3.8140015022573195`*^9, + 3.8140015475873175`*^9, 3.814001738071384*^9, 3.8140017778764906`*^9, { + 3.8140018248799477`*^9, 3.814001833638857*^9}, 3.814001889768181*^9, + 3.814001927978409*^9, 3.8140021240789013`*^9, 3.8140021859726715`*^9, + 3.8140025143509526`*^9}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"rhoM", ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "30"}], "}"}]}], "]"}]], "Input", + CellChangeTimes->{{3.807603078846569*^9, 3.8076030798337865`*^9}, + 3.8140018835702095`*^9}, + ExpressionUUID -> "62a9af8a-eade-44e7-ac2e-69be48f98025"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJwV0HtUjHkcBvDUcdRmUqPZpmS8v+myNd2mGpOp3ubpJjO7tbQiut8IqdxC +pAsquqCE3A7poNJFKmmptlpkFxupkcXKZVdLFzVd2fb1x/c85/PPc87zJeFx +vlGqKioq3sx9zdEX7W3GWcUud0lSu4Cm0HmWu9NVkSbdXPi6Vs4YnIfhXEWe +VNR5o2g944Slpd1qiiKpQfytpFLGOv16eRPd1dLYMU+JwIXCy5s+cSPdLVLZ +Kcs75lIKi437ng91P5IqCwbdzF0pTHQ7FAx290rtb1V3mntSaHW/VNxRNCz9 +QxgQ8tKbguHLG+/CLb9Ie1qH1WevoKAbE1I6y10N7LKtFQbBFPJsF//s46cO +9R9EP75dQ+HpCWHzkDYLhaP720zjKGQVJz9U1deBbV2fttkOCnpHXx/IPzMX +bn2hrDmpFDKWy1wejXKwWm1qx4YDFLZIzoe0p3FxOFJbmZ1HwWNgMjH2tQH0 +dG5TRqcopDovCzNYNB9UgO/eMxcoOFYU1uxpWoD0WJZ97xUKMeNDKXdZBN5u +aUsKa5l9FtovrPz4CDYvec9rouBcduXcsWNGWCpUvsu6S2GILQ9d0WKMzyH6 +qdEdFN5kh67YPMsUup1fwvWfUZANbJe9FX8Hw52slEVvKHyIUN9Sk2yGLQUb +UoT9X/+pp5rRYo5f4nOStMcpsO+b5lYNCCCoyfENmEFgmFm5VCy2RLsOR7Jf +k+CEhUR77lorXIizkXM5BPcMXBcOH7FG1Sfx9CEegaNhy2GbLhuouvrM+mhG +oKVWtDUsTQiTkumYSjsCXuoC51WmthhdnCgLpAk0TALrfO/YIkeQpznkRWBN +61duD7IDiV83/m4ZweYX7Fa5ij1Kz8YLHwQSDAxn+8lO2GP6sc4e3bUEXja3 +T8qsROiZHZTpsomgcdhpauyBCLvqSWvoboJYS7uejqiFCNJ4lfU8nYDuj+xc +pSFG6vU5dv55BJ7GXG9WkRhtjg4cizMEZikHd7Q4OMDbrMH61SUCQZSkyaTH +ASWffk89fY0gqjF6X82mRUhb6axf1kjQdK4zcogjQV1j3kTbPYKRy9NjNtcl +mPlf6/lfuwgiTMo0Tno7IrdvnVC3l2BIkC+uHnSExF+qmtBPUF889UqZ6YRh +uz4to0mC1R5GcOI5gzUpz7k6k495GzNuWDc741uPKb8ANh+cb2Kueq+k0bz3 +Wp2cx0exe1Li4Coa2QlNHimM7ZJy3fMDacREzntSy9hnsOqJIowGr7z1M7WA +j/Qu5UREDA3/5U/XjjEeL0p2S0yloaYpKi8mfPQ45T++WEYjojxZqWLCR/S2 +4tOyChqew7fvixmPVtRGfaiiEcwOvxzDmM1XjNnW0ZjtfzRSwfh79fmGt5pp +WEd+GK805eNm58XIx09oBB3ffyTEjA+5Vr1VgoKG0Qj3UAFjhVf7KPcZjSP6 +qod+YzzS8G9m8F80ljh2FTiY82F1Xlj+vo/GevGBpjkCpq/HNSH7I416pwcP +PRnLdX+S2gzS2D1jfe8uxmsytnVsVTL75Be1/mE80px+Um+cRrSmlxnPgo+0 +yeMRDZM0/lSXeixnrC0qsQz6QqM6LDf8IOOzGxuU09M0/hYt3NvM+H8w6gLm + + "]]}, + Annotation[#, "Charting`Private`Tag$9151#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 8.11946706440439}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0, 30}, {8.11946706440439, 9.085453129048302}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{ + 3.8076030821374664`*^9, 3.807603254893193*^9, 3.807603328362651*^9, + 3.807603400118878*^9, 3.807603513832471*^9, 3.807603579040957*^9, + 3.807604162000599*^9, 3.8076046808066187`*^9, 3.8076048243756113`*^9, + 3.8079017780133996`*^9, 3.8096917026244755`*^9, 3.8096928375309067`*^9, + 3.810007903633004*^9, 3.8108798593965564`*^9, 3.8108799381969547`*^9, { + 3.8121985561562414`*^9, 3.8121985690790606`*^9}, 3.8122028290323505`*^9, + 3.8122862663798356`*^9, 3.8126319956670103`*^9, 3.812809584707507*^9, + 3.812809625206061*^9, 3.812810881810196*^9, {3.813390385815804*^9, + 3.813390410497208*^9}, 3.8140003553261175`*^9, {3.814000425077675*^9, + 3.814000441323131*^9}, {3.8140006083647065`*^9, 3.814000634940775*^9}, + 3.814000782972973*^9, 3.814001139150017*^9, 3.8140013483065195`*^9, + 3.8140013866139555`*^9, 3.814001430937354*^9, 3.8140015024391317`*^9, + 3.814001547755143*^9, 3.8140017382921567`*^9, 3.814001778108252*^9, { + 3.8140018250547676`*^9, 3.814001833777712*^9}, 3.8140018898920527`*^9, + 3.8140019281312532`*^9, 3.8140021242277603`*^9, 3.8140021860915475`*^9, + 3.814002514442848*^9}, + ExpressionUUID -> "4225b6c9-1b17-42bd-820a-e6a5f4fd1ca7"] +}, Open ]], + +Cell["Comparison with the aprocimate expression for uconA", "Text", + CellChangeTimes->{{3.8140026334169235`*^9, 3.8140026503302107`*^9}}], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{ + RowBox[{"{", + RowBox[{"ucon", ",", "uconA"}], "}"}], ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "44"}], "}"}], ",", + RowBox[{"PlotRange", "\[Rule]", + RowBox[{"{", + RowBox[{"0", ",", "2"}], "}"}]}]}], "]"}]], "Input", + CellChangeTimes->{{3.8075231455098195`*^9, 3.8075231760114655`*^9}, { + 3.807525114186741*^9, 3.807525163185214*^9}, 3.809691839025322*^9, + 3.8096918861052923`*^9, 3.8140018835782027`*^9, {3.81400250292089*^9, + 3.8140026223250713`*^9}}, + ExpressionUUID -> "31a202fc-ffca-4d33-b52b-0fe9295fe3f1"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 + "]]}, + Annotation[#, "Charting`Private`Tag$9858#1"]& ], + TagBox[ + {RGBColor[0.880722, 0.611041, 0.142051], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 +dSvAbriQqbxEIc//C/8LX1B40w== + "]]}, + Annotation[#, "Charting`Private`Tag$9858#2"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0., 43.99999910204082}, {0, 2}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, {0, 0}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{{3.8140025307509856`*^9, 3.8140026226279907`*^9}}] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"uOhmic", ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "60"}], "}"}], ",", + RowBox[{"PlotRange", "\[Rule]", + RowBox[{"{", + RowBox[{"0", ",", "2"}], "}"}]}]}], "]"}]], "Input", + CellChangeTimes->{{3.807901752109039*^9, 3.807901763818799*^9}, + 3.809691835585297*^9, 3.80969188363571*^9, {3.81339035846745*^9, + 3.813390376129346*^9}, {3.8133904466613884`*^9, 3.81339046932749*^9}, + 3.8140006580394545`*^9, {3.8140018669042797`*^9, 3.814001883627152*^9}}, + ExpressionUUID -> "154203e7-a246-4619-90c8-ba640ea2c994"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJwVkHk41Akchz08kd2t7CBHtDmLYmI15fx+NWJn8pNEh6UYNNqQJGclx6Ka +hHH9plDjaGOJUjG5VrtlakuiZozSltpnlcYx7naatX98nvfP930+RqwjPmHK +SkpKxOL+58yQ8HfTc00uNjFSfzvfz879ZbqJruJ8aPeUlq+gDLigdg9LV8wH +I6+2M46UEZc47xqRivgGGL2JZ72nzLt8K9XJnxd1wb21yZtYWurwutXryJTo +GZziPZJG6+iBu+mHVxOit3D1BOpfNLSAedHmwnHRJDyV6BxQWNjDPfrVyl6+ +CpJtms2WfkwweN3yN2vDMjzeqJaUWbELtCIO1KjRNdFGU+/mq6X+kG/jftfL +Txf7aQ1fD6UHwUDJxs4JDUMseuunKH8SAucqU3qU9YwwUX+0Scxmg07B8Blu +qQkevBsTkjD3E2T5MlyezZhh38Ocne67ouCY/ZUDwrR1uKrphixBEQ1uYwtJ +UcOW+ObllyozQQykOu0M1t9ihW3CcuMl0bHgUE82neqgorElrL+0Iw4i5iZO +dy+zQXZ7/OOjmgkwv15jyMrPFntV5QtaykngVPvr5aKi79F/Ski2jSbDBIUZ +tLvLDn0HP2rLBSfhHSdod4waDSOWDLbm30oBxlg84z1tM8rrmjMFwtMwGrL0 +WFPKFjQXph9K7Eld/FNHOavLHq1zWqLD+9KA8tg8p2HMAbWOGHqWdaeDQfZ1 +bxrNCStYvtFZzzOgZL29hibbGQ8tT/jmfN/P8FDfdZMszwUrVVkro3oywcGg +K5f6AjCxRXxnejgLlqvwY4PTEKOKp9utR7Jhdep3TvvMXVHv085SidpZUDcL +uO3zwBWfOhENX0zPgbWz3vX4wK0oqxOa/2jLgZghyj2mEh0vVtiVMfzPw5iM +48cooeN+5716DjE54EG9z2NYuSFLRtGhZV+Adpnj59knbhh09LfC+YBciNpg +K+kN24ZVWc5/FnzKBWdpaP8+dXe0SJSnXODkwTZTXWIZ3x3/ZQetW2uSD+tO +n03o2uyBGeOXUweb88EyzL7DTOKB2nmtotJALoS1h2c0Hf0Bhwu2NNbNc6Hj +cn/ohDYDNWtUOYFVBTD1i2KWeoeBhx/4bC/xLoQQs1p1HsFEb9Ge3vuThTBh +yaXdGGfiMKd7d3BVETRXfn4znb0d+Y3vau97FYO/mwk6rvZEYcbMkrDZYlgV +mdVi3emJsezuwm2NJaD9VUQjsYfAgmoDFU4wCZX0k0nj+wgcsWmLrAolwfZk +Dp0bQKCglq7RwSbBa7zhuTiYQCPJKvlkJAmZL6bnQyIILPOqjQtMImGOn7I1 +KZVAH9mA1IlLgsSR21ddSyC3fOMa8z9ICD9eeYlRT+A/DqNc924SZupvhY02 +ELg31B/Zj0igGItnbW4TKDEMp1/rJWH7UkODtk4Crx+TT1KHSGjtrw7te07g +oZGbco9ZEpjLm63ixARGtpQqDi+QIPYQzugOEmi544pDrpyEKcHH7P1/EThR +vyJgQIUHVlc21o18IPBusQsRpcGDVolrHOcTgcyRWt0CTR4wtXYBdZzA6hcH +DQUreXAw63hv7PSiL/n1M1VDHkx1ZvJ05gisoNakW63hQdpCcYhggUDfxJeR +viY80LC7tiFQvtgjPpGXbM6DskjBtEJBYPzjPCnfggf/AefHQ5o= + "]]}, + Annotation[#, "Charting`Private`Tag$9195#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0., 59.99999877551021}, {0, 2}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, {0, 0}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{{3.8133903865194016`*^9, 3.813390411298749*^9}, { + 3.813390452139729*^9, 3.8133904703948793`*^9}, 3.8140003554958754`*^9, { + 3.814000425269477*^9, 3.8140004415039454`*^9}, {3.814000608612451*^9, + 3.814000680291408*^9}, 3.814000783368565*^9, 3.814001139375784*^9, + 3.814001348548273*^9, 3.8140013868666935`*^9, 3.8140014312020836`*^9, + 3.814001502658905*^9, 3.8140015479978924`*^9, 3.814001738588851*^9, + 3.814001778356995*^9, {3.814001825312503*^9, 3.814001834045435*^9}, + 3.8140018902097273`*^9, 3.8140019282920856`*^9, 3.814002124390581*^9, + 3.8140021862763586`*^9, 3.814002514636649*^9}, + ExpressionUUID -> "b7a48b76-0348-4da3-a4e0-8fe4e239562e"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"uact", ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "12"}], "}"}], ",", + RowBox[{"PlotRange", "\[Rule]", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", "2"}], "}"}]}]}], "]"}]], "Input", + CellChangeTimes->{ + 3.807901752109039*^9, 3.8096918329907913`*^9, 3.8096918808513126`*^9, { + 3.8140010922578707`*^9, 3.814001097057517*^9}, 3.8140018836311464`*^9}, + ExpressionUUID -> "d923dc31-aac8-4ee4-b011-a1e08ba854fc"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJwVx3k41PsCx3GhKAmFSotsM2l1terE51tHKtVBsjtlz9FC7imyxElKY0aW +KBnhtCBLoazDDMbM/FQiImXLKGsU0aK47h/v5/28NFy8D7tLSkhIJM/0/387 +cDrZ3DvaKObBNt2dna3cy2701S9op+FoHZUjVirgPh/u8WLRLiBiJK3n47dM +bpbK29RW9mV8iZz84+Wbf7mfCn5nnqRFoV57bYIkO4mrpttcNt0Si1RTpbJT +gjiuoT/jPxQ7AfU3T1kEcxlcJ6FReqzzLUj4NYmkW0O4F1XHljvSbsPpadRU +np4X92W+JRU7nopQjsVDvZgDcHuz/tLXln9BxPGcuUa+GJ8lC8fSu1CM2+94 +KzUEl3W7v/PY96E3GrzCcygciy04j3VCMqD4XnzHKDISGf4J3gznBzAvemtT +cCwaT4Wm7y1pufh2blNGp0I8cv0WmjtKPwLvcLOoWu8G/CJDcqLGH+Fx38Pg +UP1EyBbYeY615IP3UW1XwHs26gWCGh2qAMqjVi4S7NtIfLNJy7b0MSLsb7IU +1FOxRnJBB4ddCH+7B3Gq99MwqhL42wirCLwH08mMP/9FmW7fTY2QYqzrW/T3 +M/k7OGhRZXnZuRShRZ3ZzfZ34Z16jjKjVSC0LWLdx/z72P5YTLu4mAufpIuc +rYbpkHBbvdtemoe7BV1Ox6rTQfnFpzDHeTDSt3xryM+AfYq3/eeWKiyp8x8r +TX4AI13aVYZ5Nb7EOjTmz8+CZkFbkRZVjamPXsum/LMwKNivYl3KR+CEPEve +NBtBw1r1pWwBXN8YFis35MDJ/82UpYoQNjW3PSrW58JYMmb9R5YQtrP6XkZE +5EJedYqhHiKCRYBCce32h7ht+HrPJedaWLqKwwd2P0Ilk1l2iFaHDwduvB0/ +nYeKgdZncpl18JX0xePreeDso3dQa18gI3qDVGNJHhwknSXuLKnHksrktSaS ++bCqmNRUX9mADHm5M+HMfJhu/Y/nYt1GfFLPONV6tQD73rf4nPNqxATn4JzE +9ALsvX7h/KusRhzuf7Z8nF8A49GnjLgNTRgqej7MnCqAUa5HjsLmV3j6I3pF +8KnH2ERjj8qgBX6vNA+u2/kE+q92T3qEtqD2rlJO8ZEn0LvULyWobMHrhoda +s049wYburSqXjF/j5yoTlWfsJ1h9u2GbhGkrzELX9Xp/f4LlqjLB3468Rd2F +oYRf6YWYPcdXpt+rE0smyDqZd0Xo2x+iMJbeiUKPzzukR4tQy2Iu/tXTiXC/ +NeldksUQMhrjIjZ24Tem0RUD7WJELhy+w87sgkvmPDt/92Ioa2rx+cnv0KHu +2Xy1uxi0XSxplctiKPS2+TCpEiwWx8neuiuGhUnMnh0tJZANvzVfvVoMmaHW +/pc9JRgQpSvrSvRg3cufd2umS/DQvErbMKAHj4bteEWbS7Hd6aux++n3kK7V +6p2VVIr9Ic7hT6x7oRZxyPGmfRn0r1WapP3dC0XN4+IG9zIsT9GQZcX2IiN7 +luYvnzJ8qnjHcKvrxQKTTivdK2VImHKOXmTSh+zDn0605ZehJ9gl6cyWfhzr +DLColeEgNMg1b73yIA6PN0zGZ3Dgxaz2Xao/iK/6vud/z+fgCFtr82zzQaz0 +ott8KOOAzhEXtkUOQjbQ+9r8FxzUTbpyIqWGQNyDTrR/4WB5oJuwf3QIBsKq +zDtG5Sg6795+r2EYD7INeg48Lcd9oxMtaqPDaG2oOxveVI4EqTMN1xaO4IcP +69iT9nKcYwXVnLccQcKWushvI+XYmhaXc+jVCHaF1Z9YoFwBh56uioCTn9BR +tDAnwr4Cb+QUrmn6fAbVdM9l47sKtNqf2OjrN4aMjn1Hz77mgtG99+SNy2No +iOgfNunkYoeXdiYnfgxr9rC3LfrABft8u6bM4zG42PGV2GNcON00U2V/GkNY ++ZmebTI89L7a9Kvmry84qNcmGafBw7j5z9qljuOw8Xi4OfQID0p7WR6V5Cs0 +WVO2/QU8KDa5529zmETODX2rEK9KaK06mRnuMo3YZCvrFukqbG8/9XRX7Cxi +dbI/931YFSp/hB5sSpIif4TqvKRNV8GTKxJVXJxNfn6wvKd7vBqJrulqKk4y +pHuewWAUvxrrbd9NTLnPJblKQbX1Gnx0jJnVkf1yRDIu6aqjLx+jnUv1VK3k +ie/uczW3qvmIzgo4bmOjQBpsbvHmLKgBTUH2kH+SIlEMY7QSsxoU+oRmRaUo +kYznroKJmBo06cTJWMQuJNohH9tfP6uBdljj6j8TFxHVIOqc3VwBDMw7N6ck +KRN+ip53+S4B2n3CjVhMFaL8h795/38FyDewk6+JUSWUfYRInC6AqrWwNSN8 +Manv6zO1aRYA3RIxVX8vIXtGHz5QlRQiUdVTnua/lOSlLbyRv1GIi7f/urLF +S40k9Bp137cVIrnupiDKZxnxCZc29QoTIvh03KcVvstJqP1S7c4sIQadVy+x +c1lBTs17o29dL0TkrwHpDo+VZM6GopCECSFKh/aOLLBXJ05zriiuXipCs872 +7h3aq4j9RH7DvB0ieOq6boy7t4rsU5JLyHIUodLaIXDXSg1S0V2jLxckwibb +gUzlNA1i+rTlxeJkEU6GmbQYLtMk958VXV1aJkKEh+yPWXGahGf8gV3VIkL5 +CufpAWUtIqcUJC83IULJ1GWpNVFahMHozUxQolBX8PsAS0mbNAfu+J63gULN +Kg8BM1abvI457RBlSuFSkVXau3k65GKMeHDElYKjZttRB5YOsSI5Bo0XKEwW +bly2VoZGUmbLqjjeoBAk1f8s/gKNsCOPrurNpaCqbeCsI0EndmJ9tw9CCn6n +rb/MO08nXny172UdFJZvdRPRAulk5+jz7lWdFHi/zrB3B9NJHfNMdfiM57FY +xgH/0In91ei/zLoo3M7iX++/SicZCg77u99REPTpbxHdopNlTkzbOe8pKLsq +nAvn0MnrrkTe3kEKJWtWmKZV0IncnPORWTM+OrpmZTmPTph1gYcUhihk/GMi ++MKnk4a40cLmGf+WGqzq9pxOdnTVq7sPU3BpHyzc3UEnJZm5pqGfKcjc+844 +2kUnvLawCPGMs0/KHAvophPt7Phyk1EKE5OaMvkf6OSl2Vl5+TEKDDV7G40R +OmF0mxknfqGwsfv4WsPPdLJy05adP2fclHl22naMThTPuq49Nk5hpUFMevRX +Onk1kjqiPUGhWiIlMPs7ncw1KOBfmbGnKNtMNEknjteVYwZmPD+6VKvnF538 +iBAcOfSVQp6N6Ov0NJ1kJ9cqPJrx/wCKDddq + "]]}, + Annotation[#, "Charting`Private`Tag$9233#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0., 11.99999975510204}, {-1, 2}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, {0, 0}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{ + 3.8079017783490534`*^9, 3.809691704144603*^9, 3.8096928396526885`*^9, + 3.8100079038078227`*^9, 3.810879859749193*^9, 3.8108799384067373`*^9, { + 3.812198556285883*^9, 3.8121985692109256`*^9}, 3.8122028292371397`*^9, + 3.8122862666355715`*^9, 3.8126319959338055`*^9, 3.8128095872200847`*^9, + 3.8128096263623424`*^9, 3.8128108868638406`*^9, {3.813390387433878*^9, + 3.813390412283187*^9}, 3.8140003557566094`*^9, {3.814000425459281*^9, + 3.814000441662781*^9}, {3.814000608805252*^9, 3.814000635488211*^9}, + 3.8140007834554777`*^9, {3.814001092681557*^9, 3.814001097830301*^9}, + 3.8140011394626937`*^9, 3.8140013486311855`*^9, 3.814001386968587*^9, + 3.814001431282999*^9, 3.8140015027418194`*^9, 3.814001548099787*^9, + 3.8140017386827545`*^9, 3.8140017784509*^9, {3.814001825396414*^9, + 3.814001834124354*^9}, 3.814001890327603*^9, 3.814001928370006*^9, + 3.8140021244694977`*^9, 3.8140021863522797`*^9, 3.814002514721562*^9}, + ExpressionUUID -> "f4c09d02-f49c-467b-bc33-2a9a1880cf7a"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{ + RowBox[{"{", "ucon", "}"}], ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "60"}], "}"}], ",", + RowBox[{"PlotRange", "\[Rule]", + RowBox[{"{", + RowBox[{"0", ",", "2"}], "}"}]}]}], "]"}]], "Input", + CellChangeTimes->{{3.8075231455098195`*^9, 3.8075231760114655`*^9}, { + 3.807525114186741*^9, 3.807525163185214*^9}, {3.807603506209684*^9, + 3.8076035070258493`*^9}, {3.807603562587194*^9, 3.8076036552367115`*^9}, { + 3.807901798010665*^9, 3.8079018241459*^9}, {3.807901989241525*^9, + 3.80790200720923*^9}, 3.814001273079596*^9, 3.8140018836381397`*^9}, + ExpressionUUID -> "c825a9da-aba1-48b4-9973-9eb7d3d5f308"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 +1L963UZuGqR3V6Q0LxAU+P/gfwHUnF5Z + "]]}, + Annotation[#, "Charting`Private`Tag$9272#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0., 41.99996305665658}, {0, 2}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, {0, 0}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{{3.807901999933651*^9, 3.8079020081905165`*^9}, + 3.8096917044024553`*^9, 3.8096919364340987`*^9, 3.8096928401184244`*^9, + 3.810007904017606*^9, 3.810879859816123*^9, 3.810879938471672*^9, { + 3.812198556334833*^9, 3.81219856925488*^9}, 3.8122028293050675`*^9, + 3.812286266718486*^9, 3.812631996097636*^9, 3.812809588171404*^9, + 3.812809626917245*^9, 3.812810888395961*^9, {3.813390387680737*^9, + 3.8133904126579714`*^9}, 3.814000355832527*^9, {3.814000425548193*^9, + 3.814000441745696*^9}, {3.8140006088991566`*^9, 3.814000635594102*^9}, + 3.81400078354838*^9, 3.814001139550604*^9, 3.814001274744955*^9, + 3.8140013487200956`*^9, 3.8140013870554996`*^9, 3.81400143136791*^9, + 3.8140015028287287`*^9, 3.8140015481986856`*^9, 3.8140017387756577`*^9, + 3.8140017785258207`*^9, {3.8140018254733353`*^9, 3.8140018342072678`*^9}, + 3.814001890418512*^9, 3.814001928458914*^9, 3.8140021245562005`*^9, + 3.814002186439192*^9, 3.8140025148104715`*^9}, + ExpressionUUID -> "6cbc6d78-4783-4c10-80c8-1acee75f73fb"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{ + RowBox[{"{", + RowBox[{ + "Enernst", ",", "ucell", ",", "uact", ",", "uOhmic", ",", "ucon"}], "}"}], + ",", + RowBox[{"{", + RowBox[{"ifc", ",", "0", ",", "60"}], "}"}], ",", " ", + RowBox[{"PlotRange", "\[Rule]", + RowBox[{"{", + RowBox[{"0", ",", "2"}], "}"}]}]}], "]"}]], "Input", + CellChangeTimes->{{3.8075231455098195`*^9, 3.8075231760114655`*^9}, { + 3.807525114186741*^9, 3.807525163185214*^9}, {3.807603506209684*^9, + 3.8076035070258493`*^9}, {3.807603562587194*^9, 3.8076036552367115`*^9}, { + 3.807901798010665*^9, 3.8079018241459*^9}, {3.8096917823267193`*^9, + 3.8096918106604476`*^9}, {3.809691900688919*^9, 3.80969190105171*^9}, { + 3.8096919597212915`*^9, 3.8096919660196705`*^9}, {3.810879848136751*^9, + 3.8108798554060974`*^9}, {3.8140015627992744`*^9, 3.8140015666626587`*^9}, { + 3.8140018669132705`*^9, 3.814001883643134*^9}}, + ExpressionUUID -> "c825a9da-aba1-48b4-9973-9eb7d3d5f308"], + +Cell[BoxData[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJxTTMoPSmViYGAwBWIQ/e3eySMq3VvszqxfM3er+md7N5VXdz9ef2QP4/+8 +bj71w/VPcP5h5+VLLi5idoDxZe7vfJakwwvni+TEr2J3FobzJxm67fYLlYDz +b84wOPBRQBbO715Sf55JUhHOF5/yuHPyXGU4vz3E0+7SN1U4v9hyYfzJJg04 +3+X9r6q8x1pwfqNNYKKUhS6cb7Vu5pa6/fpwfs6Pjw0neA3h/J/aAvd0Q43g +fJvVaxZMm2YM538U8koIO2QC5z/pSQgrYjeD8z3fl3s+NTOH898kcxRvqbdw +QISnOFP7IUs4X+isWt+G91aI8OtYH2BmZgPnz9C2FBBOt4XzT0k5mn6eaIfw +j8yhCfrX7OF8PuZFJYlNDnC+XKO8TaSaI5zPqRqzLeg4gq9nK7m+PNYJzi+6 +J3TYi8EZzn//uSfUcwaC765/bJanrgucv++z9e/v5xB8BjBwhfPzdIxuXUxF +8G3fpVyJ5HSD811VJHx5FyH4Gg1dFYfM3eF8rVTL/aq3EPzUfRktWwo94Pz9 +C66kfBT1hPO/rPj/XX87gp+suppzlq8XIv60Jptt+oDg71jy++HXDm84P8pF +2cFazgfOl85t36l3AMEX5crZ6BvuC+ffsp58edlqBH9e7q6v//8j+ABReLUD + + "]]}, + Annotation[#, "Charting`Private`Tag$9315#1"]& ], + TagBox[ + {RGBColor[0.880722, 0.611041, 0.142051], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 + "]]}, + Annotation[#, "Charting`Private`Tag$9315#2"]& ], + TagBox[ + {RGBColor[0.560181, 0.691569, 0.194885], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 +d3YIzPhuVrfE8P8AEZG5oA== + "]]}, + Annotation[#, "Charting`Private`Tag$9315#3"]& ], + TagBox[ + {RGBColor[0.922526, 0.385626, 0.209179], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1:eJwdkHs0lAkYxh1OZHcrO8gl2lyLQqyU6/tqXHYm3yShshSDRoUkuVZyWZRJ +GLdvCuXWxhKlYnJb7ZapLYmaMUpbas8qDeM+2snafc55zu/P53cePeZRr1B5 +OTk5xlL/4+ww/zfD7GYny2ixn7X3Z8eBMs0EZ2E+dHiIy1dRBp1QvZepKawA +PUb7WXvKqFOsZ61AQXgD9N7EMd9TpE7fijXypYJuuLc+aQtTTRletzGOTgue +wWnuI3GUhha4GX54JRG8hasnUfuirglIBVsLJwST8FSkcWDRxBbuUa9W9VUo +INmu2mLqQwed161/MTetwBNNSokZlbtBLfxArRJVFS1VtW6+Wu4H+ZZudxk+ +mjhg0/j1cFogDJZs7pKo6GLRW5/F8ifBkF2V3CuvpYcJ2mPNQhYLNApGznJK +DfDg3ejg+PnDkOlNc3o2a4T9D3N2ue2OhOO2Vw7wUzfgmuYbU/GLUeAyvpAY +OWKKb15+qTbiRUOKw64g7W1m2M4v118WFQN2DWTz6U4L1DeFjZd2xkL4vORM +zwpLZHXEPT6mGg/SjSrDZj5W2KcoW1CTTwSHul8uFxV9j37TfLJ9LAkkFHqg +b7c1eg99VJfxTsE7dqBvtJINhi8basu/lQy08Tjae5utKKtvyeDxz8BY8PLj +zcnb0JifdiihN2XpTw35zG5bNM9pjQrrTwXKY+OcxnE7VDuq61HWkwY6Wdc9 +bWwcsJLpHZX5PB1KNtqqqLIc8dDK+G/O9/8ED7Wdt0zlOWGVInN1ZG8G2Ol0 +51q8AExoFd6ZGcmElQoVMUGpiJHFMx3mo1mwNuU7h33Gzqj1aVepSOkcKBv5 +3/Z64IxPHYjGL4bZYO6odT0uYDtO1fONf7RiQ/Qw5R5djooXK63LaH7nYXyK +7UMroeJ+x71adtE54G5xn0szc0HmFEXDJusCdEzZf5574oKBx34tlPrngtz/ +ccXD+31l0uxciNxkJeoLdcXqTMc/Cj7lgqM4ZGCfshuaJMiSL7DzwNVQk1hR +4Yb/sAI3rDfIhw1nzsV3b3XH9InLKUMt+WAaattpJHJH9bw2QWkAB0I7wtKb +j/2AIwXbmuqlHOi8PBAiUaehaq0iO6C6AKZ/XpyzuEPDIw+8dpR4FkKwUZ0y +l6Cjp2BP3/3JQpCYcmxuTNBxhN3jG1RdBC1Vn9/MZO3AiqZ3dfcZxeDnYoD2 +az2Qnz67LHSuGNZEZLaad3lgDKun0LWpBNS/Cm8i9hBYUKOjwA4ioYp6KnFi +H4Gjlu0R1SEkWJ3KoXL8CeTVUVU6WSQwJhqfC4MI1BOtkU1GkJDxYkYaHE5g +GaMuNiCRhPmK5O2JKQR6TQ2KHTgkiOw5/TV1BHLKN68z/p2EsBNVl2gNBP5t +N8Zx6yFhtuFW6FgjgXtD/JD1iASKvnDO8jaBIt0w6rU+EnYs19Vp7yLw+nHZ +pMUwCW0DNSH9zwk8NHpT5j5HAn1li1mskMCI1tLFIwskCN35s5pDBJruvGKX +KyNhmvcxa/+fBEoaVvkPKnDB7Mrm+tEPBN4tdiIiVbjQJnKOZX8ikD5ap1mg +ygW62m6wmCCw5sVBXd5qLhzMPNEXM7O0l/T6maIuF6a7Mrga8wRWWtSmma3j +QupCcTBvgUDvhJcR3gZcULG+tilAtuQjPJmXZMyFsgjezOIigXGP88QVJlz4 +F9r+SI4= + "]]}, + Annotation[#, "Charting`Private`Tag$9315#4"]& ], + TagBox[ + {RGBColor[0.528488, 0.470624, 0.701351], AbsoluteThickness[1.6], Opacity[ + 1.], LineBox[CompressedData[" +1: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 +1L963UZuGqR3V6Q0LxAU+P/gfwHUnF5Z + "]]}, + Annotation[#, "Charting`Private`Tag$9315#5"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[ + Part[#, 1]], + (Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{0., 59.99999877551021}, {0, 2}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, {0, 0}}, + Ticks->{Automatic, Automatic}]], "Output", + CellChangeTimes->{ + 3.807523177588703*^9, {3.80752512169022*^9, 3.8075251642702694`*^9}, + 3.807603255925602*^9, 3.807603328810252*^9, 3.8076034005567513`*^9, + 3.8076035145975842`*^9, {3.8076035799873004`*^9, 3.8076036240307913`*^9}, + 3.807603656270948*^9, 3.807604162868746*^9, 3.807604681600789*^9, + 3.8076048267867975`*^9, 3.8079017784209805`*^9, 3.8079018311753244`*^9, + 3.8096917047852373`*^9, 3.80969181676894*^9, 3.809691936874175*^9, + 3.809692840494209*^9, 3.8100079040995216`*^9, 3.8108798598780622`*^9, + 3.8108799385605793`*^9, {3.8121985563817844`*^9, 3.812198569311822*^9}, + 3.812202829397973*^9, 3.812286266814554*^9, 3.8126319962334967`*^9, + 3.8128095885867305`*^9, 3.812809627235176*^9, 3.812810889833084*^9, { + 3.813390388057522*^9, 3.813390413274617*^9}, 3.814000355926431*^9, { + 3.8140004257469845`*^9, 3.814000442076556*^9}, {3.8140006090679812`*^9, + 3.8140006357918963`*^9}, 3.814000783730192*^9, 3.8140011396804695`*^9, + 3.8140013488519573`*^9, 3.8140013871913586`*^9, 3.8140014314892874`*^9, + 3.8140015029446115`*^9, {3.8140015483265533`*^9, 3.8140015682260847`*^9}, + 3.814001738890541*^9, 3.81400177863371*^9, {3.8140018255792265`*^9, + 3.8140018343271513`*^9}, 3.8140018905263987`*^9, 3.814001928566802*^9, + 3.8140021246598644`*^9, 3.8140021865420837`*^9, 3.814002514921355*^9}, + ExpressionUUID -> "227cda6f-9500-4f63-870d-1fbdfedd7712"] +}, Open ]] +}, Open ]] +}, +WindowSize->{991, 721}, +WindowMargins->{{240, Automatic}, {43, Automatic}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb", +ExpressionUUID -> "02453db1-2cda-4983-b9e6-cc376752ecc3" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 239, 3, 70, "Section"], +Cell[822, 27, 298, 5, 49, "Text"], +Cell[1123, 34, 445, 7, 30, "Input"], +Cell[1571, 43, 159, 3, 30, "Text"], +Cell[1733, 48, 638, 21, 57, "Input"], +Cell[2374, 71, 712, 15, 30, "Input"], +Cell[3089, 88, 625, 13, 54, "Input"], +Cell[3717, 103, 1314, 37, 80, "Input"], +Cell[5034, 142, 412, 10, 59, "Input"], +Cell[5449, 154, 333, 9, 49, "Input"], +Cell[5785, 165, 181, 4, 30, "Text"], +Cell[5969, 171, 376, 11, 53, "Input"], +Cell[6348, 184, 485, 10, 49, "Input"], +Cell[6836, 196, 109, 1, 30, "Text"], +Cell[6948, 199, 534, 11, 49, "Input"], +Cell[7485, 212, 497, 13, 34, "Input"], +Cell[CellGroupData[{ +Cell[8007, 229, 257, 6, 30, "Input"], +Cell[8267, 237, 1340, 19, 30, "Output"] +}, Open ]], +Cell[9622, 259, 286, 6, 30, "Input"], +Cell[9911, 267, 697, 16, 107, "Input"], +Cell[10611, 285, 1952, 56, 259, "Input"], +Cell[CellGroupData[{ +Cell[12588, 345, 227, 5, 30, "Input"], +Cell[12818, 352, 195, 3, 30, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[13050, 360, 119, 2, 30, InheritFromParent], +Cell[13172, 364, 193, 3, 30, "Output"] +}, Open ]], +Cell[13380, 370, 196, 4, 30, "Input"], +Cell[CellGroupData[{ +Cell[13601, 378, 89, 1, 30, "Input"], +Cell[13693, 381, 482, 11, 49, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[14212, 397, 346, 7, 30, "Input"], +Cell[14561, 406, 2577, 56, 229, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[17175, 467, 300, 7, 30, "Input"], +Cell[17478, 476, 4381, 84, 236, "Output"] +}, Open ]], +Cell[21874, 563, 137, 1, 30, "Text"], +Cell[CellGroupData[{ +Cell[22036, 568, 601, 14, 30, "Input"], +Cell[22640, 584, 8996, 162, 253, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[31673, 751, 590, 12, 30, "Input"], +Cell[32266, 765, 3848, 74, 253, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[36151, 844, 494, 12, 30, "Input"], +Cell[36648, 858, 5825, 106, 240, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[42510, 969, 690, 14, 30, "Input"], +Cell[43203, 985, 5716, 104, 253, "Output"] +}, Open ]], +Cell[CellGroupData[{ +Cell[48956, 1094, 982, 20, 30, "Input"], +Cell[49941, 1116, 16888, 296, 253, "Output"] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/FuelCellLib/Documentation/References/FuelCellModelling01339484.pdf b/FuelCellLib/Documentation/References/FuelCellModelling01339484.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ece8c796444e133e5e21bf93397d5b6387ac98cb GIT binary patch literal 663810 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
    Ya6BNAj*BC>2qiC8qs&|xJK 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õ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�E2{c;GrDG%7YJH3d>>aRF=v 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 Ky7mnTZ18Uw0N_0U literal 0 HcmV?d00001 diff --git a/FuelCellLib/Documentation/References/FuelCellModelling1-s2.0-S1474667016396756-main.pdf b/FuelCellLib/Documentation/References/FuelCellModelling1-s2.0-S1474667016396756-main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4440c276dff2d9b6640f3202d3a2c091f6666fee GIT binary patch literal 427542 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

    g{x0g{E8!$Xe}NRB!Z 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�O@)@ZAW5WURph{IP_g5-#_ZE$y>9X}&u0``t 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

    Bt(9>4x}paX3cq(4 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

    1c#y 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 literal 0 HcmV?d00001 diff --git a/FuelCellLib/Documentation/References/Simulation_models_of_fuel_cell_systems.pdf b/FuelCellLib/Documentation/References/Simulation_models_of_fuel_cell_systems.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a1d4817f3bed7d1aad175369cd50079f805cc9f0 GIT binary patch literal 1004410 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

    wY~`-4b@o%^a1i`&+$XHmfxbm(zLg1;JT^e1`Q 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 z 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

    @g}f$PPOoQ4 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∈w3m)Tv2Gf8th-v(Xmnrsrp0c>xm>{i6Lqqr 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� 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

    rDN)1qTh(p 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 Tmaim(km1^-)ztLn>P!D0<~^6l literal 0 HcmV?d00001 diff --git a/FuelCellLib/Examples/ElectricAircraftMissionADFC.hmf b/FuelCellLib/Examples/ElectricAircraftMissionADFC.hmf new file mode 100644 index 0000000..6aa3470 --- /dev/null +++ b/FuelCellLib/Examples/ElectricAircraftMissionADFC.hmf @@ -0,0 +1,6860 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + 34d80e82-7ea5-442f-bf1f-31e18645de82 + HopsanInternals + + + afd1b9b5-0b66-4d17-9e90-1da59a2be242 + ActivityDiagramLibrary + + + FuelCell + FuelCell + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + diff --git a/FuelCellLib/Examples/ElectricFuelCellL1Test.hmf b/FuelCellLib/Examples/ElectricFuelCellL1Test.hmf new file mode 100644 index 0000000..0619db8 --- /dev/null +++ b/FuelCellLib/Examples/ElectricFuelCellL1Test.hmf @@ -0,0 +1,914 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + FuelCell + FuelCell + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + diff --git a/FuelCellLib/Examples/ElectricFuelCellTest.hmf b/FuelCellLib/Examples/ElectricFuelCellTest.hmf deleted file mode 100644 index fae3716..0000000 --- a/FuelCellLib/Examples/ElectricFuelCellTest.hmf +++ /dev/null @@ -1,250 +0,0 @@ - - - - - 59c07d33-554f-49d3-a163-a928823d4380 - HopsanDefaultComponentLibrary - - - FuelCellLib - FuelCellLib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp index 43bdca3..d98b930 100644 --- a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp +++ b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.hpp @@ -10,13 +10,14 @@ //! @file ElectricFuelCellL1.hpp //! @author Petter Krus // co-author/auditor **Not yet audited by a second person** -//! @date Wed 30 Sep 2020 09:48:40 -//! @brief Level 1 (conceptual with some dynamics) Fuel cell model +//! @date Wed 11 Nov 2020 17:33:54 +//! @brief Level 1 (conceptual) Fuel cell model with some dynamics //! @ingroup ElectricComponents //! //==This code has been autogenerated using Compgen== //from -/*{, G:, Git, development-libraries, FuelCellLib}/ElectricFuelcellL1.nb*/ +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, FuelCellLibrary, \ +FuelCellComponents}/ElectricFuelcellL18.nb*/ using namespace hopsan; @@ -24,35 +25,40 @@ class ElectricFuelCellL1 : public ComponentQ { private: double R; - double F; - double nel; + double cv; + double kmFC; + double nstack; double T; double Tref; - double CA; double A; double l; - double dG; - double dS; - double P0; double Ph2; double Po2; - double Ch2; + double P0; + double Faraday; + double dS; + double dG; double B; double Rc; + double Ch2; double ksi1; double ksi3; double ksi4; double psi; double Jmax; double Jn; - double Imax; + double MH2; + double cA; + double thaucon; double timeComp; double e; - Port *mpPel1; + Port *mpPfc; + Port *mpPp1; double delayParts1[9]; double delayParts2[9]; double delayParts3[9]; double delayParts4[9]; + double delayParts5[9]; Matrix jacobianMatrix; Vec systemEquations; Matrix delayedPart; @@ -60,73 +66,107 @@ class ElectricFuelCellL1 : public ComponentQ int iter; int mNoiter; double jsyseqnweight[4]; - int order[4]; + int order[5]; int mNstep; - //Port Pel1 variable - double uel1; - double iel1; - double cel1; - double Zcel1; + //Port Pfc variable + double ufc; + double ifc; + double cfc; + double Zcfc; + //Port Pp1 variable + double pp1; + double qmp1; + double Tp1; + double dEp1; + double cp1; + double Zcp1; //==This code has been autogenerated using Compgen== //inputVariables + double thetaFcRef; //outputVariables - double iFC0; - double uA; - double Pel; - double Pin; - //LocalExpressions variables - double ksi2; + double mFC; + double unernst; + double uohmic; + double uact; + double ucon; + double ufc0; + double ufcr; + double ufc1; + double ifc0; + double etaFC; + double Powfc; double rhoM; + double WH2; + //LocalExpressions variables + double cp; double Co2; - double unernst; - double uA0; - double conA0; - double conA; - double conOhm; + double ksi2; + double Rohmic; //Expressions variables - //Port Pel1 pointer - double *mpP_uel1; - double *mpP_iel1; - double *mpP_cel1; - double *mpP_Zcel1; + //Port Pfc pointer + double *mpP_ufc; + double *mpP_ifc; + double *mpP_cfc; + double *mpP_Zcfc; + //Port Pp1 pointer + double *mpP_pp1; + double *mpP_qmp1; + double *mpP_Tp1; + double *mpP_dEp1; + double *mpP_cp1; + double *mpP_Zcp1; //Delay declarations //==This code has been autogenerated using Compgen== //inputVariables pointers + double *mpthetaFcRef; //inputParameters pointers double *mpR; - double *mpF; - double *mpnel; + double *mpcv; + double *mpkmFC; + double *mpnstack; double *mpT; double *mpTref; - double *mpCA; double *mpA; double *mpl; - double *mpdG; - double *mpdS; - double *mpP0; double *mpPh2; double *mpPo2; - double *mpCh2; + double *mpP0; + double *mpFaraday; + double *mpdS; + double *mpdG; double *mpB; double *mpRc; + double *mpCh2; double *mpksi1; double *mpksi3; double *mpksi4; double *mppsi; double *mpJmax; double *mpJn; - double *mpImax; + double *mpMH2; + double *mpcA; + double *mpthaucon; double *mptimeComp; double *mpe; //outputVariables pointers - double *mpiFC0; - double *mpuA; - double *mpPel; - double *mpPin; + double *mpmFC; + double *mpunernst; + double *mpuohmic; + double *mpuact; + double *mpucon; + double *mpufc0; + double *mpufcr; + double *mpufc1; + double *mpifc0; + double *mpetaFC; + double *mpPowfc; + double *mprhoM; + double *mpWH2; Delay mDelayedPart10; Delay mDelayedPart20; Delay mDelayedPart21; Delay mDelayedPart30; + Delay mDelayedPart31; EquationSystemSolver *mpSolver; public: @@ -140,9 +180,9 @@ class ElectricFuelCellL1 : public ComponentQ //==This code has been autogenerated using Compgen== mNstep=9; - jacobianMatrix.create(4,4); - systemEquations.create(4); - delayedPart.create(5,6); + jacobianMatrix.create(5,5); + systemEquations.create(5); + delayedPart.create(6,6); mNoiter=2; jsyseqnweight[0]=1; jsyseqnweight[1]=0.67; @@ -151,188 +191,254 @@ class ElectricFuelCellL1 : public ComponentQ //Add ports to the component - mpPel1=addPowerPort("Pel1","NodeElectric"); + mpPfc=addPowerPort("Pfc","NodeElectric"); + mpPp1=addPowerPort("Pp1","NodePneumatic"); //Add inputVariables to the component + addInputVariable("thetaFcRef","Power fraction reference \ +[0,1]","",1.,&mpthetaFcRef); //Add inputParammeters to the component - addInputVariable("R", "Gas constant", "J/(K mol)", 8.314,&mpR); - addInputVariable("F", "Faradays constant", "", 96485.33212,&mpF); - addInputVariable("nel", "", "", 1,&mpnel); + addInputVariable("R", "Gas constant", "J/Kg K", 4124.2,&mpR); + addInputVariable("cv", "heatcoeff", "J/Kg K", 10183.,&mpcv); + addInputVariable("kmFC", "Fuel cell spec. power", "W/kg", \ +1000.,&mpkmFC); + addInputVariable("nstack", "", "", 1,&mpnstack); addInputVariable("T", "", "K", 323,&mpT); addInputVariable("Tref", "", "K", 298.15,&mpTref); - addInputVariable("CA", "Fuel cell capacitance", "A s/V", \ -50.,&mpCA); - addInputVariable("A", "", "m2", 0.00506,&mpA); - addInputVariable("l", "", "m", 0.000178,&mpl); - addInputVariable("dG", "", "", 228000.6,&mpdG); - addInputVariable("dS", "Entropy rate", "J/(Ks)", 0.00085,&mpdS); + addInputVariable("A", "", "m2", 0.00625,&mpA); + addInputVariable("l", "", "m", 0.000025,&mpl); + addInputVariable("Ph2", "Hydrogen partial press", "atm", \ +1.476,&mpPh2); + addInputVariable("Po2", "Oxygen partial press", "atm", \ +0.2095,&mpPo2); addInputVariable("P0", "", "atm", 1,&mpP0); - addInputVariable("Ph2", "", "atm", 1.476,&mpPh2); - addInputVariable("Po2", "", "atm", 1.,&mpPo2); - addInputVariable("Ch2", "", "atm", 1.,&mpCh2); - addInputVariable("B", "", "V", 0.016,&mpB); + addInputVariable("Faraday", "", "", 96485.3,&mpFaraday); + addInputVariable("dS", "", "", 164.02501,&mpdS); + addInputVariable("dG", "Gibbs free energy", "", 228000.6,&mpdG); + addInputVariable("B", "", "V", 0.15,&mpB); addInputVariable("Rc", "", "", 0.0003,&mpRc); + addInputVariable("Ch2", "", "", 0.2,&mpCh2); addInputVariable("ksi1", "", "", -0.948,&mpksi1); - addInputVariable("ksi3", "", "", 0.000076,&mpksi3); - addInputVariable("ksi4", "", "", -0.000193,&mpksi4); - addInputVariable("psi", "", "", 23,&mppsi); - addInputVariable("Jmax", "", "A/m2", 15000,&mpJmax); - addInputVariable("Jn", "", "A/m2", 11.999999999999998,&mpJn); - addInputVariable("Imax", "", "A", 42,&mpImax); + addInputVariable("ksi3", "", "", 0.0000722,&mpksi3); + addInputVariable("ksi4", "", "", \ +-0.00010640000000000001,&mpksi4); + addInputVariable("psi", "", "", 23.,&mppsi); + addInputVariable("Jmax", "Max current intensity", "A/m2", \ +6720.,&mpJmax); + addInputVariable("Jn", "", "A/m2", 220.,&mpJn); + addInputVariable("MH2", "", "kg/mol", 0.002016,&mpMH2); + addInputVariable("cA", "Capacitance", "F", 10.,&mpcA); + addInputVariable("thaucon", "", "s", 0.1,&mpthaucon); addInputVariable("timeComp", "time compression factor.", "", \ 1.,&mptimeComp); addInputVariable("e", "e", "", 2.71828,&mpe); //Add outputVariables to the component - addOutputVariable("iFC0","Intermediate current","A",0.,&mpiFC0); - addOutputVariable("uA","Intermediate voltage","V",0.,&mpuA); - addOutputVariable("Pel","Output power","W",0.,&mpPel); - addOutputVariable("Pin","Input power","W",0.,&mpPin); + addOutputVariable("mFC","Mass of fuel cell","kg",1.,&mpmFC); + addOutputVariable("unernst","","V",1.,&mpunernst); + addOutputVariable("uohmic","","V",1,&mpuohmic); + addOutputVariable("uact","","V",1,&mpuact); + addOutputVariable("ucon","","V",1,&mpucon); + addOutputVariable("ufc0","","V",1,&mpufc0); + addOutputVariable("ufcr","","V",1,&mpufcr); + addOutputVariable("ufc1","","V",1,&mpufc1); + addOutputVariable("ifc0","","A",0.,&mpifc0); + addOutputVariable("etaFC","Fuel cell efficiency","",0.,&mpetaFC); + addOutputVariable("Powfc","","Power",0.,&mpPowfc); + addOutputVariable("rhoM","","kg/m^3",0.,&mprhoM); + addOutputVariable("WH2","","kg/s",0.,&mpWH2); //==This code has been autogenerated using Compgen== //Add constantParameters - mpSolver = new EquationSystemSolver(this,4); + mpSolver = new EquationSystemSolver(this,5); } void initialize() { //Read port variable pointers from nodes - //Port Pel1 - mpP_uel1=getSafeNodeDataPtr(mpPel1, NodeElectric::Voltage); - mpP_iel1=getSafeNodeDataPtr(mpPel1, NodeElectric::Current); - mpP_cel1=getSafeNodeDataPtr(mpPel1, NodeElectric::WaveVariable); - mpP_Zcel1=getSafeNodeDataPtr(mpPel1, NodeElectric::CharImpedance); + //Port Pfc + mpP_ufc=getSafeNodeDataPtr(mpPfc, NodeElectric::Voltage); + mpP_ifc=getSafeNodeDataPtr(mpPfc, NodeElectric::Current); + mpP_cfc=getSafeNodeDataPtr(mpPfc, NodeElectric::WaveVariable); + mpP_Zcfc=getSafeNodeDataPtr(mpPfc, NodeElectric::CharImpedance); + //Port Pp1 + mpP_pp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Pressure); + mpP_qmp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::MassFlow); + mpP_Tp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::Temperature); + mpP_dEp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::EnergyFlow); + mpP_cp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::WaveVariable); + mpP_Zcp1=getSafeNodeDataPtr(mpPp1, NodePneumatic::CharImpedance); //Read variables from nodes - //Port Pel1 - uel1 = (*mpP_uel1); - iel1 = (*mpP_iel1); - cel1 = (*mpP_cel1); - Zcel1 = (*mpP_Zcel1); + //Port Pfc + ufc = (*mpP_ufc); + ifc = (*mpP_ifc); + cfc = (*mpP_cfc); + Zcfc = (*mpP_Zcfc); + //Port Pp1 + pp1 = (*mpP_pp1); + qmp1 = (*mpP_qmp1); + Tp1 = (*mpP_Tp1); + dEp1 = (*mpP_dEp1); + cp1 = (*mpP_cp1); + Zcp1 = (*mpP_Zcp1); //Read inputVariables from nodes + thetaFcRef = (*mpthetaFcRef); //Read inputParameters from nodes R = (*mpR); - F = (*mpF); - nel = (*mpnel); + cv = (*mpcv); + kmFC = (*mpkmFC); + nstack = (*mpnstack); T = (*mpT); Tref = (*mpTref); - CA = (*mpCA); A = (*mpA); l = (*mpl); - dG = (*mpdG); - dS = (*mpdS); - P0 = (*mpP0); Ph2 = (*mpPh2); Po2 = (*mpPo2); - Ch2 = (*mpCh2); + P0 = (*mpP0); + Faraday = (*mpFaraday); + dS = (*mpdS); + dG = (*mpdG); B = (*mpB); Rc = (*mpRc); + Ch2 = (*mpCh2); ksi1 = (*mpksi1); ksi3 = (*mpksi3); ksi4 = (*mpksi4); psi = (*mppsi); Jmax = (*mpJmax); Jn = (*mpJn); - Imax = (*mpImax); + MH2 = (*mpMH2); + cA = (*mpcA); + thaucon = (*mpthaucon); timeComp = (*mptimeComp); e = (*mpe); //Read outputVariables from nodes - iFC0 = (*mpiFC0); - uA = (*mpuA); - Pel = (*mpPel); - Pin = (*mpPin); + mFC = (*mpmFC); + unernst = (*mpunernst); + uohmic = (*mpuohmic); + uact = (*mpuact); + ucon = (*mpucon); + ufc0 = (*mpufc0); + ufcr = (*mpufcr); + ufc1 = (*mpufc1); + ifc0 = (*mpifc0); + etaFC = (*mpetaFC); + Powfc = (*mpPowfc); + rhoM = (*mprhoM); + WH2 = (*mpWH2); //==This code has been autogenerated using Compgen== //LocalExpressions - ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); - rhoM = (1.816*(1 + (3.e-6*iFC0)/A + \ -6.753150562581012e-17*Power(iFC0/A,2.5)*Power(T,2)))/(-0.634 - \ -(3*Power(e,(4.18*(-303 + T))/T)*iFC0)/(10000.*A) + psi); + cp = cv + R; Co2 = 1.968503937007874e-7*Power(e,498/T)*Po2; - unernst = dG/(2.*F) + (dS*(T - Tref))/(2.*F) + \ -(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*F); - unernst = dG/(2.*F); - uA0 = -ksi1 - ksi2*T - ksi4*T*log(iFC0) - B*log(1 - iel1/(A*Jmax)) - \ -ksi3*T*log(1.968e-7*Power(e,498/T)*Po2); - conA0 = iFC0/(1.e-6 + uA0*onPositive(uA0)); - conA = conA0*onPositive(conA0); - conOhm = (l*rhoM)/A; + ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); + rhoM = (181.6*(1 + (3.e-6*ifc0)/A + \ +6.753150562581011e-7*Power(T,2)*Power(lowLimit(ifc0/(10000.*A),0.),2.5)))/(-0\ +.634 - (3*Power(e,(4.18*(-303 + T))/T)*ifc0)/(10000.*A) + psi); + unernst = dG/(2.*Faraday) + (dS*(T - Tref))/(2.*Faraday) + \ +(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*Faraday); + uact = lowLimit(-ksi1 - ksi2*T - ksi3*T*log(Co2) - \ +ksi4*T*log(lowLimit(ifc0,9.999999999999999e-31)),0); + ucon = (1.3*B*limit(ifc/(A*Jmax),0.,1.075))/(1 - \ +0.7480520100000002*Power(limit(ifc/(A*Jmax),0.,1.075),4)); + uohmic = (ifc*l*rhoM)/(100.*A); + Rohmic = (l*rhoM)/(100.*A); + ufcr = lowLimit(-uact - ucon + unernst - uohmic,0.); + ufc0 = lowLimit(-uact - ucon + unernst,0.); //Initialize delays - delayParts2[1] = (iel1*mTimestep - iFC0*mTimestep - 2*CA*uA)/(2.*CA); + delayParts2[1] = (-(mTimestep*ufc0) + mTimestep*ufc1 - \ +2*thaucon*ufc1)/(mTimestep + 2*thaucon); mDelayedPart21.initialize(mNstep,delayParts2[1]); + delayParts3[1] = (-(ifc*mTimestep) + ifc0*mTimestep - \ +2*ifc0*thaucon)/(mTimestep + 2*thaucon); + mDelayedPart31.initialize(mNstep,delayParts3[1]); delayedPart[1][1] = delayParts1[1]; delayedPart[2][1] = delayParts2[1]; delayedPart[3][1] = delayParts3[1]; delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; simulateOneTimestep(); } void simulateOneTimestep() { - Vec stateVar(4); - Vec stateVark(4); - Vec deltaStateVar(4); + Vec stateVar(5); + Vec stateVark(5); + Vec deltaStateVar(5); //Read variables from nodes - //Port Pel1 - cel1 = (*mpP_cel1); - Zcel1 = (*mpP_Zcel1); + //Port Pfc + cfc = (*mpP_cfc); + Zcfc = (*mpP_Zcfc); + //Port Pp1 + Tp1 = (*mpP_Tp1); + cp1 = (*mpP_cp1); + Zcp1 = (*mpP_Zcp1); //Read inputVariables from nodes + thetaFcRef = (*mpthetaFcRef); //Read inputParameters from nodes R = (*mpR); - F = (*mpF); - nel = (*mpnel); + cv = (*mpcv); + kmFC = (*mpkmFC); + nstack = (*mpnstack); T = (*mpT); Tref = (*mpTref); - CA = (*mpCA); A = (*mpA); l = (*mpl); - dG = (*mpdG); - dS = (*mpdS); - P0 = (*mpP0); Ph2 = (*mpPh2); Po2 = (*mpPo2); - Ch2 = (*mpCh2); + P0 = (*mpP0); + Faraday = (*mpFaraday); + dS = (*mpdS); + dG = (*mpdG); B = (*mpB); Rc = (*mpRc); + Ch2 = (*mpCh2); ksi1 = (*mpksi1); ksi3 = (*mpksi3); ksi4 = (*mpksi4); psi = (*mppsi); Jmax = (*mpJmax); Jn = (*mpJn); - Imax = (*mpImax); + MH2 = (*mpMH2); + cA = (*mpcA); + thaucon = (*mpthaucon); timeComp = (*mptimeComp); e = (*mpe); //LocalExpressions - ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); - rhoM = (1.816*(1 + (3.e-6*iFC0)/A + \ -6.753150562581012e-17*Power(iFC0/A,2.5)*Power(T,2)))/(-0.634 - \ -(3*Power(e,(4.18*(-303 + T))/T)*iFC0)/(10000.*A) + psi); + cp = cv + R; Co2 = 1.968503937007874e-7*Power(e,498/T)*Po2; - unernst = dG/(2.*F) + (dS*(T - Tref))/(2.*F) + \ -(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*F); - unernst = dG/(2.*F); - uA0 = -ksi1 - ksi2*T - ksi4*T*log(iFC0) - B*log(1 - iel1/(A*Jmax)) - \ -ksi3*T*log(1.968e-7*Power(e,498/T)*Po2); - conA0 = iFC0/(1.e-6 + uA0*onPositive(uA0)); - conA = conA0*onPositive(conA0); - conOhm = (l*rhoM)/A; + ksi2 = 0.00286 + 0.0002*log(10000*A) + 0.000043*log(Ch2); + rhoM = (181.6*(1 + (3.e-6*ifc0)/A + \ +6.753150562581011e-7*Power(T,2)*Power(lowLimit(ifc0/(10000.*A),0.),2.5)))/(-0\ +.634 - (3*Power(e,(4.18*(-303 + T))/T)*ifc0)/(10000.*A) + psi); + unernst = dG/(2.*Faraday) + (dS*(T - Tref))/(2.*Faraday) + \ +(R*T*log((Ph2*Sqrt(Po2))/P0))/(2.*Faraday); + uact = lowLimit(-ksi1 - ksi2*T - ksi3*T*log(Co2) - \ +ksi4*T*log(lowLimit(ifc0,9.999999999999999e-31)),0); + ucon = (1.3*B*limit(ifc/(A*Jmax),0.,1.075))/(1 - \ +0.7480520100000002*Power(limit(ifc/(A*Jmax),0.,1.075),4)); + uohmic = (ifc*l*rhoM)/(100.*A); + Rohmic = (l*rhoM)/(100.*A); + ufcr = lowLimit(-uact - ucon + unernst - uohmic,0.); + ufc0 = lowLimit(-uact - ucon + unernst,0.); //Initializing variable vector for Newton-Raphson - stateVark[0] = iFC0; - stateVark[1] = uA; - stateVark[2] = iel1; - stateVark[3] = uel1; + stateVark[0] = ifc; + stateVark[1] = ufc1; + stateVark[2] = ifc0; + stateVark[3] = ufc; + stateVark[4] = pp1; //Iterative solution using Newton-Rapshson for(iter=1;iter<=mNoiter;iter++) @@ -341,62 +447,96 @@ ksi3*T*log(1.968e-7*Power(e,498/T)*Po2); //Differential-algebraic system of equation parts //Assemble differential-algebraic equations - systemEquations[0] =iFC0 + conOhm*(uA - unernst); - systemEquations[1] =((iel1 - iFC0)*mTimestep)/(2.*CA) + uA + \ -delayedPart[2][1]; - systemEquations[2] =iel1 + conA*(-uA + uel1); - systemEquations[3] =-cel1 + uel1 - iel1*Zcel1; + systemEquations[0] =ifc + (ufc - nstack*ufc1)/(nstack*Rohmic); + systemEquations[1] =-((mTimestep*ufc0)/(mTimestep + 2*thaucon)) + \ +ufc1 + delayedPart[2][1]; + systemEquations[2] =ifc0 - (ifc*mTimestep)/(mTimestep + 2*thaucon) \ ++ delayedPart[3][1]; + systemEquations[3] =-cfc + ufc - ifc*Zcfc; + systemEquations[4] =-cp1 + pp1 - dEp1*Zcp1; //Jacobian matrix jacobianMatrix[0][0] = 1; - jacobianMatrix[0][1] = conOhm; + jacobianMatrix[0][1] = -(1/Rohmic); jacobianMatrix[0][2] = 0; - jacobianMatrix[0][3] = 0; - jacobianMatrix[1][0] = -mTimestep/(2.*CA); + jacobianMatrix[0][3] = 1/(nstack*Rohmic); + jacobianMatrix[0][4] = 0; + jacobianMatrix[1][0] = 0; jacobianMatrix[1][1] = 1; - jacobianMatrix[1][2] = mTimestep/(2.*CA); + jacobianMatrix[1][2] = 0; jacobianMatrix[1][3] = 0; - jacobianMatrix[2][0] = 0; - jacobianMatrix[2][1] = -conA; + jacobianMatrix[1][4] = 0; + jacobianMatrix[2][0] = -(mTimestep/(mTimestep + 2*thaucon)); + jacobianMatrix[2][1] = 0; jacobianMatrix[2][2] = 1; - jacobianMatrix[2][3] = conA; - jacobianMatrix[3][0] = 0; + jacobianMatrix[2][3] = 0; + jacobianMatrix[2][4] = 0; + jacobianMatrix[3][0] = -Zcfc; jacobianMatrix[3][1] = 0; - jacobianMatrix[3][2] = -Zcel1; + jacobianMatrix[3][2] = 0; jacobianMatrix[3][3] = 1; + jacobianMatrix[3][4] = 0; + jacobianMatrix[4][0] = 0; + jacobianMatrix[4][1] = 0; + jacobianMatrix[4][2] = 0; + jacobianMatrix[4][3] = 0; + jacobianMatrix[4][4] = 1; //==This code has been autogenerated using Compgen== //Solving equation using LU-faktorisation mpSolver->solve(jacobianMatrix, systemEquations, stateVark, iter); - iFC0=stateVark[0]; - uA=stateVark[1]; - iel1=stateVark[2]; - uel1=stateVark[3]; + ifc=stateVark[0]; + ufc1=stateVark[1]; + ifc0=stateVark[2]; + ufc=stateVark[3]; + pp1=stateVark[4]; //Expressions - Pel = iel1*uel1; - Pin = iFC0*unernst; + etaFC = ufc/(nstack*unernst); + Powfc = ifc*ufc; + WH2 = (ifc*MH2*nstack)/(2.*Faraday); + qmp1 = -(ifc*MH2*nstack)/(2.*Faraday); + dEp1 = cp*qmp1*Tp1; + mFC = (A*Jmax*nstack*unernst)/kmFC; } //Calculate the delayed parts - delayParts2[1] = (iel1*mTimestep - iFC0*mTimestep - 2*CA*uA)/(2.*CA); + delayParts2[1] = (-(mTimestep*ufc0) + mTimestep*ufc1 - \ +2*thaucon*ufc1)/(mTimestep + 2*thaucon); + delayParts3[1] = (-(ifc*mTimestep) + ifc0*mTimestep - \ +2*ifc0*thaucon)/(mTimestep + 2*thaucon); delayedPart[1][1] = delayParts1[1]; delayedPart[2][1] = delayParts2[1]; delayedPart[3][1] = delayParts3[1]; delayedPart[4][1] = delayParts4[1]; + delayedPart[5][1] = delayParts5[1]; //Write new values to nodes - //Port Pel1 - (*mpP_uel1)=uel1; - (*mpP_iel1)=iel1; + //Port Pfc + (*mpP_ufc)=ufc; + (*mpP_ifc)=ifc; + //Port Pp1 + (*mpP_pp1)=pp1; + (*mpP_qmp1)=qmp1; + (*mpP_dEp1)=dEp1; //outputVariables - (*mpiFC0)=iFC0; - (*mpuA)=uA; - (*mpPel)=Pel; - (*mpPin)=Pin; + (*mpmFC)=mFC; + (*mpunernst)=unernst; + (*mpuohmic)=uohmic; + (*mpuact)=uact; + (*mpucon)=ucon; + (*mpufc0)=ufc0; + (*mpufcr)=ufcr; + (*mpufc1)=ufc1; + (*mpifc0)=ifc0; + (*mpetaFC)=etaFC; + (*mpPowfc)=Powfc; + (*mprhoM)=rhoM; + (*mpWH2)=WH2; //Update the delayed variabels mDelayedPart21.update(delayParts2[1]); + mDelayedPart31.update(delayParts3[1]); } void deconfigure() diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml index 695f2e2..1e6d94d 100644 --- a/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml +++ b/FuelCellLib/FuelCellComponents/ElectricFuelCellL1.xml @@ -1,19 +1,22 @@ - + - - - - - - - + + + + + + + + + + - + \ No newline at end of file diff --git a/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb b/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb index 9f5080a..3714513 100644 --- a/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb +++ b/FuelCellLib/FuelCellComponents/ElectricFuelcellL1.nb @@ -1,962 +1,1006 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 45240, 954] -NotebookOptionsPosition[ 43313, 893] -NotebookOutlinePosition[ 43791, 911] -CellTagsIndexPosition[ 43748, 908] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Fuel Cell (Fidelity level 1)", "Title", - CellChangeTimes->{{3.520873834546875*^9, 3.520873840984375*^9}, { - 3.520880951484375*^9, 3.520880952703125*^9}, 3.5353435216307597`*^9, { - 3.8100265894396305`*^9, 3.810026591848856*^9}, {3.810026623024362*^9, - 3.8100266506470413`*^9}}, - ExpressionUUID -> "57b21790-662b-4ee4-8918-fd00c687c174"], - -Cell["\<\ -Fuel cell model of fidelity level 1, for conceptual design with some dynamics.\ -\>", "Text", - CellChangeTimes->{{3.810026654466279*^9, 3.8100267211514826`*^9}}], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", - ",", "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, - 3.7760688836492944`*^9}, {3.7846317812093024`*^9, 3.784631800055241*^9}, { - 3.790939336655615*^9, 3.790939344120914*^9}, {3.7994934461032467`*^9, - 3.7994934538013234`*^9}, {3.79974100026252*^9, 3.799741026886066*^9}, { - 3.80934577795299*^9, 3.8093457983178377`*^9}, {3.809965090856604*^9, - 3.8099651069126987`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"] -}, Open ]], - -Cell[BoxData["\<\"G:\\\\Git\\\\development-libraries\\\\FuelCellLib\\\\\"\>"],\ - "Output", - CellChangeTimes->{{3.800014722612909*^9, 3.8000147394275837`*^9}, - 3.800014776746131*^9, 3.800014883760863*^9, 3.800014999911181*^9, - 3.8000731036301117`*^9, 3.8000732824221363`*^9, {3.800073399237327*^9, - 3.800073423207103*^9}, 3.80007348639789*^9, {3.8000820325654097`*^9, - 3.800082072404359*^9}, 3.800083188037806*^9, 3.8000902740754757`*^9, - 3.8000903089595304`*^9, 3.8000906849471116`*^9, 3.8000962721730146`*^9, - 3.8000983179117002`*^9, {3.8000983741917095`*^9, 3.800098390783614*^9}, - 3.8000985540483847`*^9, 3.800100841780097*^9, 3.8001018542828107`*^9, - 3.8001020070464034`*^9, 3.800103751343073*^9, 3.800115562636672*^9, - 3.807966938520918*^9, 3.80934544363169*^9, 3.809345803292515*^9, - 3.809345859186922*^9, 3.8093460077130194`*^9, 3.809346043305401*^9, - 3.809346112713642*^9, 3.809346349671179*^9, 3.809346719453081*^9, - 3.809346766768236*^9, 3.80934700756503*^9, 3.8093471228940525`*^9, - 3.809347163411317*^9, 3.8093473175637245`*^9, 3.8093473926926775`*^9, - 3.809347914342938*^9, {3.809347986004998*^9, 3.809347994228918*^9}, - 3.8093480907848635`*^9, 3.8093482896681175`*^9, 3.809348664676984*^9, - 3.809349009063117*^9, 3.8093491596659837`*^9, {3.810021439173669*^9, - 3.8100214557878013`*^9}, 3.810021502003939*^9, 3.8100215346730013`*^9, - 3.8100227930638638`*^9, 3.8100267624699945`*^9, 3.810027881162412*^9, { - 3.81038086079557*^9, 3.810380882797211*^9}, 3.8103812032017527`*^9, - 3.8104396902597575`*^9, 3.810439824051691*^9, 3.810439931803726*^9, - 3.810439993571807*^9, {3.8104408937906113`*^9, 3.81044092031534*^9}}, - ExpressionUUID -> "f5195b7a-97d9-47d9-a759-fc32b01ffc18"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"Unprotect", "[", "D", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"D", "[", - RowBox[{ - RowBox[{"log", "[", - RowBox[{"f_", "[", "x_", "]"}], "]"}], ",", "x_"}], "]"}], ":=", - FractionBox[ - RowBox[{ - SuperscriptBox["f", "\[Prime]", - MultilineFunction->None], "[", "x", "]"}], - RowBox[{"f", "[", "x", "]"}]]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"D", "[", - RowBox[{ - RowBox[{"log", "[", "x_", "]"}], ",", "x_"}], "]"}], ":=", - FractionBox["1", "x"]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Protect", "[", "D", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.809347647946149*^9, 3.8093476720727806`*^9}, { - 3.809347738914095*^9, 3.8093477653488455`*^9}, {3.809347870771587*^9, - 3.809347882263136*^9}, {3.8093479646864033`*^9, 3.809347990809903*^9}}], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth:>WindowWidth, - ExpressionUUID -> "652a0152-5a14-4b79-b70d-d9fa36510144"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "brief", "=", - "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}]}], "Input", - CellChangeTimes->{{3.520880152296875*^9, 3.520880230078125*^9}, - 3.520932125875*^9, 3.520932753984375*^9, {3.52093324790625*^9, - 3.520933251453125*^9}, {3.521775289609375*^9, 3.521775289921875*^9}, { - 3.52249560790625*^9, 3.522495611953125*^9}, {3.5353435506144285`*^9, - 3.5353435625103617`*^9}, {3.538982066538947*^9, 3.5389820811170716`*^9}, { - 3.538982378538947*^9, 3.538982399913947*^9}, {3.540095811916009*^9, - 3.5400958134316144`*^9}, {3.5400958446187153`*^9, - 3.5400958611341286`*^9}, {3.7994929462982273`*^9, 3.79949294812035*^9}, - 3.799493326163699*^9, {3.7997722672221565`*^9, 3.799772286280518*^9}, { - 3.7997723174983525`*^9, 3.799772319009794*^9}, {3.8000104740765705`*^9, - 3.8000105130094523`*^9}, 3.8000732267354856`*^9, {3.810022768618063*^9, - 3.8100227777219925`*^9}}, - ExpressionUUID -> "aa43e10d-c05d-43e3-a087-d1ec17470b5d"], - -Cell["\<\ -inputVariables = { - {thetaFcRef, 1., double, \"\", \"Power fraction reference [0,1]\"} - };\ -\>", "Text", - CellChangeTimes->{{3.446223460296875*^9, 3.44622356096875*^9}, { - 3.4462236030625*^9, 3.446223670484375*^9}, {3.446223703640625*^9, - 3.4462238429375*^9}, {3.4462265591875*^9, 3.44622670078125*^9}, { - 3.4463566622546744`*^9, 3.4463566920669837`*^9}, 3.4463567240041475`*^9, { - 3.446357070530962*^9, 3.446357073718421*^9}, 3.446379656956832*^9, { - 3.4464008796202064`*^9, 3.44640090863546*^9}, {3.446452519793661*^9, - 3.446452619136775*^9}, {3.446460814522464*^9, 3.446460921949324*^9}, { - 3.446460972761937*^9, 3.4464609779947715`*^9}, {3.446461042663227*^9, - 3.4464610541442213`*^9}, {3.446522488390625*^9, 3.446522516109375*^9}, { - 3.446522610078125*^9, 3.446522622265625*^9}, {3.44652284971875*^9, - 3.446522850484375*^9}, 3.446524524569768*^9, {3.44657946146875*^9, - 3.44657946196875*^9}, {3.446637579390625*^9, 3.446637622890625*^9}, { - 3.44663767678125*^9, 3.446637762140625*^9}, {3.446741156203125*^9, - 3.446741194671875*^9}, 3.446744375703125*^9, {3.4468319421875*^9, - 3.446831994875*^9}, {3.447609315015625*^9, 3.447609356953125*^9}, - 3.44760944415625*^9, {3.447938433375*^9, 3.44793848459375*^9}, { - 3.447938571546875*^9, 3.4479385744375*^9}, {3.447951560046875*^9, - 3.44795160009375*^9}, {3.457505934953125*^9, 3.457505949234375*^9}, { - 3.540095890602502*^9, 3.540095891883735*^9}, {3.800013706988228*^9, - 3.8000137263942327`*^9}, {3.800082537647973*^9, 3.800082542135347*^9}, { - 3.800090224922123*^9, 3.8000902659348636`*^9}, 3.8100199599914637`*^9}, - ExpressionUUID -> "5248b079-d643-4e8a-986c-34efe7ba874e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "R", ",", "8.314", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "F", ",", "96485.33212", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "nel", ",", "1", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "T", ",", "323", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Tref", ",", "298.15", ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "CA", ",", "50.", ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"A", ",", - RowBox[{"50.6", " ", - SuperscriptBox["10", - RowBox[{"-", "4"}]]}], ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"l", ",", - RowBox[{"178", " ", - SuperscriptBox["10", - RowBox[{"-", "6"}]]}], ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "dG", ",", "228000.6", ",", "double", ",", "\"\<\>\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"dS", ",", - RowBox[{"0.85", " ", - SuperscriptBox["10", - RowBox[{"-", "3"}]]}], ",", "double", ",", "\"\\"", ",", - "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "P0", ",", "1", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ph2", ",", "1.476", ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Po2", ",", "1.", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Ch2", ",", "1.", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "B", ",", "0.016", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Rc", ",", "0.0003", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"ksi1", ",", - RowBox[{"-", ".948"}], ",", "double", ",", "\"\<\>\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"ksi3", ",", - RowBox[{"7.6", " ", - SuperscriptBox["10", - RowBox[{"-", "5"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"ksi4", ",", - RowBox[{ - RowBox[{"-", "1.93"}], " ", - SuperscriptBox["10", - RowBox[{"-", "4"}]]}], ",", "double", ",", "\"\<\>\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "psi", ",", "23", ",", "double", ",", "\"\<\>\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Jmax", ",", - RowBox[{"1500", " ", - SuperscriptBox["10", - RowBox[{"-", "3"}]], - SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{"Jn", ",", - RowBox[{"1.2", " ", - SuperscriptBox["10", - RowBox[{"-", "3"}]], - SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", - "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "Imax", ",", "42", ",", "double", ",", "\"\\"", ",", "\"\<\>\""}], - "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "timeComp", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Jn", ",", + RowBox[{"22.", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"MH2", ",", + RowBox[{"2.016", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cA", ",", "10.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "conNum", ",", "1000.", ",", "double", ",", "\"\<1/Ohm\>\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "thaucon", ",", ".1", ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "timeComp", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"Jn", ",", + RowBox[{"22.", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]], + SuperscriptBox["10", "4"]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{"MH2", ",", + RowBox[{"2.016", " ", + SuperscriptBox["10", + RowBox[{"-", "3"}]]}], ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "cA", ",", "10.", ",", "double", ",", "\"\\"", ",", + "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "thaucon", ",", ".1", ",", "double", ",", "\"\\"", ",", + "\"\<\>\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "timeComp", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\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�U5r&vE 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 literal 0 HcmV?d00001 diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro new file mode 100644 index 0000000..7ed85d8 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro @@ -0,0 +1,50 @@ +# QT -= core gui, means that we should not link the default qt libs into the component +# Template = lib, means that we want to build a library (.dll or .so) +QT -= core gui +TEMPLATE = lib + +# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) +# Change this to the name of YOUR lib +TARGET = devTestLib + +# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build +DESTDIR = $${PWD}/ + +# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files +# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. +# *= Means append unique +INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ + +# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library +LIBS *= -L$${PWD}/../../../bin + +# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so +# In debug mode HopsanCore has the debug extension _d +include(hopsanDebugReleaseCompile.prf) + +# ------------------------------------------------- +# Project files +# ------------------------------------------------- +SOURCES += \ + TestLib.cc + +HEADERS += \ + ActivityDiagramInitiateState.hpp + ActivityDiagramEdge.hpp + ActivityDiagramActionN.hpp + ActivityDiagramAction.hpp + ActivityDiagramDecision.hpp + ActivityDiagramJoinN.hpp + ActivityDiagramForkN.hpp + ActivityDiagramJoin0.hpp + ActivityDiagramJoin.hpp + ActivityDiagramFork.hpp + ActivityDiagramMerge0.hpp + ActivityDiagramMerge.hpp + ActivityDiagramMergeN.hpp + ActivityDiagramFinal.hpp + ActivityDiagramFinalNode.hpp + + +OTHER_FILES += \ + hopsanDebugReleaseCompile.prf diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml new file mode 100644 index 0000000..be04e13 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml @@ -0,0 +1,42 @@ + + + afd1b9b5-0b66-4d17-9e90-1da59a2be242 + ActivityDiagramLib + + -std=c++11 + + ActivityDiagramLib + ActivityDiagramLib.cc + + ActivityDiagramInitiateState.hpp + ActivityDiagramEdge.hpp + ActivityDiagramAction.hpp + ActivityDiagramActionN.hpp + ActivityDiagramDecision.hpp + ActivityDiagramForkN.hpp + ActivityDiagramJoinN.hpp + ActivityDiagramMergeN.hpp + ActivityDiagramFork.hpp + ActivityDiagramJoin0.hpp + ActivityDiagramJoin.hpp + ActivityDiagramMerge0.hpp + ActivityDiagramMerge.hpp + ActivityDiagramFinal.hpp + ActivityDiagramFinalNode.hpp + + ActivityDiagramInitiateState.xml + ActivityDiagramActionN.xml + ActivityDiagramAction.xml + ActivityDiagramDecision.xml + ActivityDiagramEdge.xml + ActivityDiagramFinalNode.xml + ActivityDiagramFinal.xml + ActivityDiagramForkN.xml + ActivityDiagramFork.xml + ActivityDiagramJoin0.xml + ActivityDiagramJoinN.xml + ActivityDiagramJoin.xml + ActivityDiagramMerge0.xml + ActivityDiagramMergeN.xml + ActivityDiagramMerge.xml + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll new file mode 100644 index 0000000000000000000000000000000000000000..d69ff5bdc6be0abd4747bf159caa2e78499226eb GIT binary patch literal 289740 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�*ggf3tb4Z!Tvo7__ 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 literal 0 HcmV?d00001 diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp new file mode 100644 index 0000000..71829ee --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp @@ -0,0 +1,195 @@ +#ifndef ACTIVITYDIAGRAMMERGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 29 Aug 2019 14:30:46 +//! @brief Merge with triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramMerge.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event1; + double event2; + //outputVariables + //InitialExpressions variables + double oldEvent1; + double oldEvent2; + //Expressions variables + double dEvent1; + double dEvent2; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent1; + double *mpevent2; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event1","event 1 ","",1.,&mpevent1); + addInputVariable("event2","event 2 ","",1.,&mpevent2); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent1 = event1; + oldEvent2 = event2; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent1 = onPositive(-0.5 + event1 - diffevent*oldEvent1); + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + qpn1 = -(dEvent1*onPositive(-0.5 + spn1 - spn3)); + qpn2 = -(dEvent2*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2 - \ +spn3)); + qpn3 = onPositive(-0.5 + onPositive(-0.5 - qpn1) + onPositive(-0.5 - \ +qpn2)); + oldEvent1 = event1; + oldEvent2 = event2; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb new file mode 100644 index 0000000..6a5895e --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb @@ -0,0 +1,821 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 42264, 813] +NotebookOptionsPosition[ 39039, 737] +NotebookOutlinePosition[ 39496, 754] +CellTagsIndexPosition[ 39453, 751] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.7747986777531595`*^9, 3.774798837507168*^9, 3.7748614276997967`*^9, + 3.7748619672501326`*^9, {3.7748622394111714`*^9, 3.774862251182107*^9}, + 3.7748623403373017`*^9, 3.7754917893881674`*^9, 3.776070646525416*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7747986777851257`*^9, 3.774798837541133*^9, 3.7748614277577357`*^9, + 3.7748619673110695`*^9, {3.774862239477104*^9, 3.774862251248041*^9}, + 3.774862340403417*^9, 3.7754917894141517`*^9, 3.7760706465633698`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, 3.7552829554537253`*^9}, + 3.755372579530821*^9, {3.765365387482224*^9, 3.7653653881771164`*^9}, + 3.7747983306164637`*^9, 3.7747986736373167`*^9, 3.7754917486163588`*^9}, + ExpressionUUID -> "9d4f453e-9c72-4000-9122-ecf47f5aa6af"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, 3.755372577184243*^9, + 3.76536539267952*^9, {3.774798658558407*^9, 3.7747986736373167`*^9}, + 3.7753177220186896`*^9, {3.7754917480639286`*^9, 3.775491774528488*^9}}, + ExpressionUUID -> "d8e297df-a6c2-45e1-bbf9-562a2f6f4d24"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.7760706466322966`*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "29", ",", "14", ",", "30", ",", + "46.6033273`9.420991788461784"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.776070646638291*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "event1", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event2", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, {3.7553334050165496`*^9, + 3.7553334446716647`*^9}, {3.7627026686193905`*^9, 3.762702670838029*^9}, { + 3.7627027196525707`*^9, 3.7627027226382403`*^9}, {3.762728482505171*^9, + 3.7627284849986467`*^9}, 3.774798673638316*^9}, + ExpressionUUID -> "f073027b-0651-4a76-8093-b13b81390d0b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.762728501412943*^9, 3.7627285128314185`*^9}, { + 3.7627285870617857`*^9, 3.762728591136469*^9}, 3.7747986736393175`*^9}, + ExpressionUUID -> "526a0e78-dfa9-4844-8861-722896780dba"], + +Cell[BoxData[ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, + 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, { + 3.7655560740431547`*^9, 3.7655560873095894`*^9}}, + ExpressionUUID -> "c21e7961-5a84-45f3-af61-b43c2481c92c"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7655559532852836`*^9, 3.7655560954859285`*^9, 3.765954365574082*^9, + 3.765954400227334*^9, 3.7659545129450517`*^9, 3.76595457686611*^9, + 3.765954945457864*^9, 3.765955176309712*^9, 3.765979013076853*^9, + 3.7659791492833395`*^9, 3.7659792908183327`*^9, {3.7747986736393175`*^9, + 3.774798677972932*^9}, 3.7747988377319365`*^9, 3.7748614280806327`*^9, + 3.774861967682685*^9, {3.774862239871213*^9, 3.774862251628648*^9}, + 3.774862340780019*^9, 3.7754917895629864`*^9, 3.7760706467781477`*^9}, + ExpressionUUID -> "01c870b8-aaba-4716-af93-eff1bce22607"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"onPositive", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"onPositive", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}], " ", "-", "0.5"}], "]"}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"dEvent1", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn3", "-", "0.5"}], "]"}]}], "+", " ", + RowBox[{"dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "spn3", "-", "0.5"}], "]"}]}], "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.774798378062895*^9, 3.774798386262143*^9}, + 3.7747984458280263`*^9, {3.7747985315413647`*^9, 3.774798534616194*^9}, + 3.7747986736393175`*^9, {3.7760704479443293`*^9, 3.7760704713202305`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"gez", "[", "x_", "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "-", "0.5"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"not", "[", "x_", "]"}], ":=", + RowBox[{"gez", "[", + RowBox[{"1", "-", "x"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"or", "[", + RowBox[{"x1_", ",", "x2_"}], "]"}], ":=", " ", + RowBox[{"gez", "[", " ", + RowBox[{ + RowBox[{"gez", "[", "x1", "]"}], "+", " ", + RowBox[{"gez", "[", "x2", "]"}]}], "]"}]}], ";"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7659535016962757`*^9, 3.765953537227621*^9}, { + 3.765953591698428*^9, 3.765953633491314*^9}, {3.7659537776016474`*^9, + 3.7659539171926427`*^9}, {3.7659541480864477`*^9, 3.765954159366811*^9}, { + 3.765954190309889*^9, 3.7659541911090636`*^9}, {3.765954243895609*^9, + 3.765954287252881*^9}, {3.7659543284363947`*^9, 3.765954333668998*^9}, + 3.765955249245471*^9, {3.7659788223116503`*^9, 3.7659788600786896`*^9}, { + 3.7659789102459354`*^9, 3.7659789340304003`*^9}, {3.7659792402524962`*^9, + 3.7659792413014126`*^9}, {3.7747984022434483`*^9, 3.774798423106389*^9}, { + 3.774798465435588*^9, 3.7747984916353693`*^9}, {3.7747985356591177`*^9, + 3.774798567507405*^9}, {3.774798608475299*^9, 3.774798613738011*^9}, + 3.774798673640315*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"gez", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}]}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"gez", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}]}], " ", "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent1"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn1", "-", "spn3"}], "]"}]}]}], " ", ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent2"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn2", "-", "spn3"}], "]"}], " ", + RowBox[{"not", "[", + RowBox[{"-", "qpn1"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"or", "[", + RowBox[{ + RowBox[{"-", "qpn1"}], ",", + RowBox[{"-", "qpn2"}]}], "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.7659539527299805`*^9, + 3.7659539580474944`*^9}, {3.765953990560954*^9, 3.7659541210473413`*^9}, { + 3.765954203223567*^9, 3.765954204038726*^9}, {3.7659543947419925`*^9, + 3.7659543959437532`*^9}, {3.765954499150284*^9, 3.765954508435705*^9}, { + 3.7659545709552073`*^9, 3.765954573578501*^9}, 3.7659551706705313`*^9, { + 3.765978868000518*^9, 3.765978893848853*^9}, {3.765978938256042*^9, + 3.765978977975065*^9}, {3.7659791387911654`*^9, 3.76597914548526*^9}, { + 3.7659792427329383`*^9, 3.76597925615609*^9}, {3.774798467247336*^9, + 3.774798502673746*^9}, {3.774798579462903*^9, 3.774798600630599*^9}, + 3.774798638403225*^9, 3.774798673640315*^9, {3.7760705201826525`*^9, + 3.7760705288696933`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774798673640315*^9}, + ExpressionUUID -> "c36604a9-382b-4358-abaf-68df6f6c8e9a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,161, + 83,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469609585`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,84,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469969215`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,85,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470238934`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,86,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470488677`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,161,87,16172176550883650673, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470748405`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,88,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470998144`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,161,89,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471257877`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,90,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471517615`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,161,91,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.776070647181732*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"] +}, Open ]] +}, +WindowSize->{912, 700}, +WindowMargins->{{452, Automatic}, {122, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 111, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 852, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3279, 73, 799, 15, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4081, 90, 874, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4958, 104, 279, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5240, 112, 636, 9, 78, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5879, 123, 576, 10, 53, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6458, 135, 1935, 41, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8396, 178, 1212, 17, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9611, 197, 1276, 20, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10890, 219, 1049, 20, 122, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11942, 241, 1257, 24, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13202, 267, 567, 12, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13772, 281, 584, 11, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14359, 294, 807, 14, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15169, 310, 2975, 57, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18147, 369, 1425, 30, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19575, 401, 3349, 64, 210, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22927, 467, 219, 4, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23149, 473, 4623, 68, 138, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27775, 543, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29110, 566, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30587, 591, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31922, 614, 1474, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[33399, 640, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[34734, 663, 1404, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[36141, 687, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[37618, 712, 1405, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg new file mode 100644 index 0000000..5616b90 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml new file mode 100644 index 0000000..550c31d --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp new file mode 100644 index 0000000..0f03429 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp @@ -0,0 +1,165 @@ +#ifndef ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge0.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 22 Aug 2019 21:43:02 +//! @brief Merge without triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramMerge0.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge0 : public ComponentQ +{ +private: + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge0(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + qpn3 = onPositive(spn1 + spn2 - spn3); + qpn1 = -(qpn3*onPositive(-0.5 + spn1)); + qpn2 = -(qpn3*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2)); + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb new file mode 100644 index 0000000..45adabc --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb @@ -0,0 +1,624 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 32492, 616] +NotebookOptionsPosition[ 29781, 551] +NotebookOutlinePosition[ 30208, 567] +CellTagsIndexPosition[ 30165, 564] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795572931881*^9, + 3.774795612385293*^9, 3.774861408366062*^9, 3.7748619624159155`*^9, + 3.7748622245843167`*^9, 3.7748640394382243`*^9, 3.7753177662699428`*^9, + 3.775491732568901*^9, 3.775491782033749*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955729948483`*^9, + 3.774795612450227*^9, 3.7748614084190083`*^9, 3.7748619624768515`*^9, + 3.7748622246482515`*^9, 3.7748640395161448`*^9, 3.7753177663398657`*^9, + 3.7754917325888805`*^9, 3.7754917820577235`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, + 3.7552829554537253`*^9}, {3.7653654200584526`*^9, 3.765365420761336*^9}, + 3.7747952519978476`*^9, 3.7747955692027297`*^9}, + ExpressionUUID -> "8e539398-d59d-4346-99c7-62ce8cde8c74"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, {3.765365424137388*^9, + 3.7653654247616515`*^9}, 3.7747952541435413`*^9, 3.7747955692037344`*^9, { + 3.7753177325159492`*^9, 3.7753177417951164`*^9}, {3.77549167539384*^9, + 3.7754917209458838`*^9}, {3.7754917778650465`*^9, 3.775491778104801*^9}}, + ExpressionUUID -> "63192a21-eff5-4a32-ab06-93bd62a509b1"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782103677*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "22", ",", "21", ",", "43", ",", + "2.0866932`8.07203358449933"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782108671*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7748638812026606`*^9, 3.774863885385459*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell["\<\ +inputParameters = { + {event, 0.1, double, \"\", \"event (trigg on positive flank)\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, 3.7747955692037344`*^9}, + ExpressionUUID -> "6004a690-5f87-4437-a4d9-05a7963088b8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "+", "spn2", "-", "spn3"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}], + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "0.5"}], "]"}]}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.76269520463138*^9, 3.7626952378702517`*^9}, {3.7626953144143944`*^9, + 3.762695317976671*^9}, {3.7626961113142395`*^9, 3.762696124434898*^9}, { + 3.76276650333788*^9, 3.762766514206193*^9}, 3.762766805898405*^9, { + 3.7747952829010906`*^9, 3.7747952918124933`*^9}, {3.7747953437341003`*^9, + 3.7747953526869335`*^9}, 3.7747955692047253`*^9}, + ExpressionUUID -> "9bddbe6b-0b0f-498d-854c-260e582893fd"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747955692047253`*^9}, + ExpressionUUID -> "1bf4c767-539e-4196-9557-c11f2e50fda5"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,34,10,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917822165594`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,11,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782257517*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,12,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.77549178228449*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,13,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823094635`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,34,14,16171631835219174289, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823354373`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,15,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782363408*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,34,16,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823893814`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,17,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782416353*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,34,18,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917824433255`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"] +}, Open ]] +}, +WindowSize->{1234, 716}, +WindowMargins->{{193, Automatic}, {56, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 824, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3251, 73, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3915, 88, 837, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4755, 102, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5037, 110, 590, 9, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5630, 121, 576, 10, 49, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6209, 133, 2024, 43, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8236, 178, 860, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9099, 192, 924, 15, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10026, 209, 1101, 21, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11130, 232, 672, 12, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11805, 246, 1985, 38, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13793, 286, 221, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14017, 292, 7128, 103, 113, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[21148, 397, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22153, 415, 1143, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23299, 435, 1004, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24306, 453, 1146, 19, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25455, 474, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26460, 492, 1076, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27539, 511, 1144, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28686, 531, 1079, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg new file mode 100644 index 0000000..53e9506 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml new file mode 100644 index 0000000..8946aa0 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp new file mode 100644 index 0000000..4b5ba16 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp @@ -0,0 +1,130 @@ +/*----------------------------------------------------------------------------- + This source file is a part of Hopsan + + Copyright (c) 2009 to present year, Hopsan Group + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramMergeN.hpp +//! @author Petter Krus +//! @date 2018-12-31 +//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson +//! @brief Contains a multi in join Component +//! + +#ifndef ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A StateMchine AND multi port component + //! @ingroup StateMachine + //! + class ActivityDiagramMergeN : public ComponentQ + { + + private: + std::vector mvpN_q, mvpN_s; + size_t mNumPorts; + Port *mpPpn1; + Port *mpPpn2; + + //Port Ppn2 variable + double q2; + double s2; + + //Port Ppn2 pointer + double *mpP_q2; + double *mpP_s2; + + public: + static Component *Creator() + { + return new ActivityDiagramMergeN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + } + + + void initialize() + { + //Port Ppn1 + mNumPorts = mpPpn1->getNumPorts(); + mvpN_q.resize(mNumPorts); + mvpN_s.resize(mNumPorts); + + for (size_t i=0; i + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml new file mode 100644 index 0000000..f31aa8f --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg new file mode 100644 index 0000000..7fd70f1 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg new file mode 100644 index 0000000..539ad0c --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagramLibrary.dll b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagramLibrary.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c51ca215e3532ba56a90a949b90f659843e1fa3 GIT binary patch literal 289740 zcmeFa3w)Ht^*_7;f}q4*)F@V|tD*)K8bBjhhDV{2P#ZH-kl;%x&+@Y>XC1gq=)i9wAw#B1K~IcH{`d7j;nQ2YC|{lCqJWS%*5 z=FB-~&YU@Oc^*nms|)lF1Ok2V+u0ciG$N&+0{*-8Kh-GSaj#W72JY|w?B0!8#n0}2 z((E}4!<7r>pR=I+{P2wOdGqE+!)I577gWs)&zTpVbo`X?`SWL14A05geuyGnS`-M( zyfPGM%a4`?Zp#Wh5efu40{e$|=+$fY!1qA9G%FC;J`hOljAxVu0(lkmm!EqH-;~V` zAVWW;Nc#o?Q$}aAT!BEC!BUqVnTSaYq&_Qf0c9Gp0*4Qx2lZ2$6_`$K>z|ISKv}lV zq^IFjRv<4O9GG-}R-lm--Nn!FXvLB!${N1IA7YVYhaC1#S)jCR_{{QXIe^osAOziz z*nN;%KLvr(1G@n4U_V}d!SE%5H)Jr%D^dPq zqy-u9&R)0>C4q+i_*3UCCpi672P%`pD})~FydHQY$C+OIf&ki`BY4~=4JiK+@XFHg zlEWvScoNZOy|gHL7y9uElEb5OnZMbDoKkof`|--4zlyo@XP_zS>kgDtUyvBF zQNF@ko&j(4PZ=*le+v}eFZ_4~6By}#fBt``fhm!iP2qtyD<{$h0I?m6YCWXjz~tD*^@Q!FxwVYLiu)BJuG9Q6auv&6ZxlrSGBALwn(mvnQC=9ORvT=2>SHPA@!T z&8*?Uy_TXFZGD}^#Z_-qMB;t+%LfQ;Kd=k69f?==L!;+Yqq_z7swVu%*mc3B+kvSJ zOuRi}GuXHqb%~9v;L^dsi*E<9mVSY%3b-49wVQ)WpC@YZ>>Yp}i9?OaXiiDYS%o1O zD2~0^*;12z8T^TG2lctkk4U!tq_eYgR&cLLK#lJ=6ci@M2MlqN@EM>Ji9HcLx;Q>; zZ-$oyoD~F*t&7xr)Gspji^V%f;=4v_pO1dr`Md%x`Y;k}a~=u@0+X9D-{NO-b03-* z0wa>m+ff?1s&~2;gL@SOxPRKR4L|7ot9rK$F?krqt2<`}nn`7lGv^UxoXf(2K--7k zcXmo2Eurk|$O8Eqlmo4b(53<2yd5c|?P-*qgG^AnTYT)kATo4`9Wi3va$1 zN`WdTEH(gEmt0Qr);%u%{72v+(*%xcf1`znEAu!c|LEsR?gBF36LZE^Ce>{7f z#!Q01_J+VN1`Gl(%<>S33W1~$`1)6hSMZzr>h@ZM7YrB#PW-Efz$hWmA_N}Nm?;pr zU5p2e-C)2V@X2K!0-s)oY@#S71eR#b4iKm^1Wqtu5a_tcL*QN^&>;kVDwr_`^^Y<2 z2Wlv)-}`G%^#xQN=&Zr7u$1A>3ZZ(~RDa%pQNR2Tp86xD`H&E3)RENrGrusm~RL?XTTuv=v)th;X)) zgup_LSqTEa=&#MN*nmM`90&_hm>~Q%5n==m#I=cN?x!F z&o)&81J0j;qA05wyK}$eppv?}&i#&1>2Q_)Sfx9v^m_Um^h}i=r_v)-I$WhcR_Tr^{r(o!zDi$L>2oT5Or?KO>Fp}L zR;8D!be>AjROxXlJwm0!Rr+I_N5h@+dsg5^k;fFE!G-CXL7r}N0 z^nvZvZ0U?3&J0HvJ=BlP

    nWS37#!`F;jGNZaI$fy?+-HT4boY?D0S%b2~3{Vb5ip@9GC)$H;4a6F$ev+1OGMs zW+wB+vv{KVg+H`khI5Wu2XVmb#KnsjF9C=1dZ$K#|MMi_oI7`p{tDsHGqw)S3H^lE z!2@aYjaH|HFd$V{FKn#Gtd9Cll+E8bHg=1&F_Q-U#r3mtk$N1|4;!x)*7rEh+QqqC zI&0_1(nECci0Sa`T)qzflGNdTtFw1Cxtz9pX@4LU`AN)NuEX$J@N>YSyMoQxtu&9Y z(E3fLdDC)Q!2jT{vp;%8b0nb z-vRZRKVb=XN=qP5ZT`f%e7CfO6F{I@Wd7KiJ12OB{m+j{OK9|m$>n;d*-rb)5K5nb z4tvO?*myY-bDlp39D46Yjp=U!LSG}o|7EuEKWQuwGAqap9{|L_`6Gbbf^(Ieju;)z zokr(j=PyeNV@NlR$HDK$SQpNW46%~K2jK_HK-c`?fLWkWv7W|kmm zvDM)#1x|Q$epZeSmYw0{ep4G6qIEko_A;V4(pYGo-UFOD7>LsRCLm-o3i9=UoJHT& z2!05VcN#c<4UiWNoF4|{5(dN^FD?)1=L695SBWmO{~c$%q=YxzYtW!S#CSa+$LmfP zC-a$4$nm0>1`4%)G!|zIjKweMW3i9fqK$>H)w2lLLC!lCZr{m@%%6zfFA2>PG0%@= ze!PIp|4GVBL_Ue}QonIzCe7t#97<+qdNHQVBNdSO|4Es9Db^2N&5X`}KrgtS!#4j0 zStc6`toW?ejaT4p49Fh`I%53J7H`3i1dbr8yna1>~9m`6fVKHXu&} zGLODA-YDWdsa#9G8md0x(xOBxscPvO}){W+SjAEjrCUd-RL^elYltpz;5 z=>i_$#RB^IWnDj3J$$v@et?S9o6N@I`r$Za&(~i+?<%05)dKn{y(eNnnTNb2=2yuX z<&ub+#pt})}8$NUK37D<{S*C9RWRQ&e<%zg|+~L0HaDU9<{z->>ZzAr` zJKXPdxDOrf^j!wC?}rm{f6n24!r|U_xc{)j{qc#of6U>2o5Q{7aDUd}{^Ug5>8>in zqLyxTxIf}>|6YgtwTZYt<8Z&(;lAx~zvgiN=tSI~cDUcD#6TWO3EuPTzbnZT@2uasP-Z z{pE?c(~WO|ZhbGU!X;eNBj{c9cWuT8}L(Bb}q!~G_QJ7sO= zxc}xv-099nQ}guYYXh?Q<~uCN@|Qc@-7S8xtQ@ycQ(isE=?XGZ1pmlLzO$%Y%n`EdAo$jaTI$@!j98%594l_%5r?3QpbLwS>@*@uAXC2D#bSU5AP^SAc z%~`PRP=4B>OkcAyWqy}K`6Y+)x9 zaBn-@KkjhBk=ZzArC4)=A3`$rt^6^HxbMBL{c?yC;>ryTC@a=1S}5%)VC?sq%fpK!R- zDKAs=Pfo=B4u|`q!~HRb`)AcIL$=~yn~3`fhx?rl_o2i66^HvrC*nTma6jR2Z#&%o zxx@XLiMZe9aKFvr-gLNs%;EmAiMYSZ;eM;b{Sk*d-AiLy-SZQ1zt!P>v%`Jc;r@if z{Sy;$zs2Exlf!-8;ofn$zc>;1n;q_NI{SL74tKhF$<+Ky6LEj1!~Js(_q!eLs}A>< zC*ppS!~J!K`=Z1BPKW!e6LBv&+&}AZztiD?FXK0n+=wR27-S zew;-Xf6i26A87PR0x6+K8}$67l$rJr>4dW@_}##{P44}XUAe#eNgK#UW2Yl70_Pgj z5Ah;8E-!Y10yE`CJoTPA$cn$Rt4VjTf9~H4cV_x+iSt8SM3uxizl2`pK)5f?zH+i%)snd z+pZ&>dR6!zA=c@n_UX(*t0Qo4~DS1B* z*(03a;Io`VJ_!hamt5ey49E+H%x?ffKWf2SeIAe(!Cm#@WCyn$W}f67rQ~Ag>Jc@; zYNfb;9dM}5rdqupkWXiN=9Ir15OF^Mhx{lY{Pr^;;V%Kge{-eQ4c`bCDgMsD_@BqS zpls;pDL_7M@cKDGng-5q0rD|JV}G;yWWAal@$YIW0q_?Aj)Hr+;$TXe`0AdkZ*s8$yMx%4}_%wK@($oRgMknoQILfTT4 z{|q2dyastMAf|r)A|Nj@s}p@60wQ8R%qG%mvs9vY5x7&?-sJb@(PA&p?N&?_WB?djXO={!#jBKwdEP{I!6X{kjj3 zd1E$x7?5p4o*x3_O=;mo`PTsvxA0~10P={@>cjy_tM~oS0%Fdl_Ywqa0q+IoPNN5x zbnSNPsTi+1aOj-~)zc3FB5pwC+`pIT7&t!z2&rAQ`fWfyWk~qNR{=5l)d%Eh1Lq$D za@NrEuL5!jIEwNgKIAw+%SLAokjD(l_W>d@XfAUD5ZV<|biNsoMT7ef0`jCWI{yX` zaU0}2O8fOTJXxv4PoW5n{b%63_#R;`2^}wfU>o}6(sAzp2RI^f;E*pp!rl9_6_88s z0pzR!Sp?)W&@)_O*3)|ddCq_g0hu#o{>OkkW%TPe0KsI@=)4KYi^lx=l1H%;fzgeU z*Ij@-j@3#*?gfN?O7jl^(mbK#90794=*2Zao-pKjf#?{%bOR zAg>vg@C6^j{oyz)s;u{JK%Ox4^L{}1-4SBEhJd_aSj&$A(lj8S1w_=kxjZ*KhPiC? z>lQ%7+lw6MD*(9{`cZzq49Ld~c`gA$_r@!&ek&kNLq9(Vh^V-7%AX{N#7QnT+nWa% zPa~H2E#N#SacG>r>>FUuhJMxndBW)F0FbkW{X7TAoI&|#0J&3+MSTaawSzi8lOweH z%fJykvs~ui2SmIv$04_WBP`1B688eaZ`ToY9tPx+A@hd;QCdwBoYhSd>YlcOd?(=; z_WTkcCeAMda>CHhZQsP-4OH{%YXK2;Brfv>KxmZJczrz}XN{TiZGd2f*CL1S0%RV% zRI48VNZ;-72p6D3!;5xEtI{4gN%hRpvOkk1$v^}hglQ_2ITr9bq| zcyG%Xohl$_fupq10OYeqt3yC;HXz>$h#B*LKOiN;djBIJXJJ2z@_z^9R)fyx2?zJ> zD4g5B1*2n(^49@ku0($Ukaal=s9zrhExwRW2J0KM1H&-1{U!+{6I>t_IY<16*i z`2|28H*Eff595muhRk0I$eb~E{v03=gCC6yADw#vdDD>aeSq9*jPiE?A~Ijz>RCV@ zmw5_^m3{<}7Yy$I0+2iKM9q|607T?^oX+n6@`}_3(K-19atA{je;$zM;T|C*WJVO% zq6~2ke<`1NKX9HkWd0B!*97c`B}nYKZ@1K?})!Sw8vg$F8^AmtvGknX(01*`!-s;Bz zIcv$_ z`ffn@-PdzjzkU>uXMS4m>6d>yR#?Lue?1^~8hyV4h#D`F@H+tch|#a#2892}e!j_T zKi~6L@Z}?;)k}cfWbpcVKwdPoann;eU(?9;#;lmAU*#=||`vq!NJ_g8BMo)i)AaYDu%>k>`S@es0 zzk~`7Su6@*HWojNR&Cje;J*jRJRpkK7yS*4h0*sr0hu#w>=8itkLK5--dXSufb*I` z`Bgw(F}VK*AdeWMe9L!2^SB#9$+HNE>5-ZQVRk5N>Jnu*6~O zd!2=}+IsPWz!@46{u4kR*IP9bw4$F{WnKafQBw2tR{^=#!1+BuZUjW(-0%_T$Cw2- z19BEPWT*81sM`SYgdxwL1LP$s58*rj$R$J1dw}qp1BHIR36QhDs9WZ{z6&$gpnMk~ z&lzL!en4)Ks{^yKMv1)zsrr5Z98rzuGG7Da4rbw^7cT+wumSnP??xAj>& z_(?!6qkk~2OdJ0WkVCMB*cs%P04d>3ZPF~~e#7@*#u>A64v<4bW2XUm+UWcJfPBh; zydRL?HzeE#gz7em`xAhC+-UV(fQVb3xIF(5kjD+b@hL#~y90BX%>NdUk4g`@d$o^y zjY_3wZr45J=YaD$V{}e^6kgr%2~|LzfjmkZLqO=KtnMj5+J=7qnS=AM0eKhGn2_+7 z31VpDmcI$VA#H&4 z4le!0FbARQT{GKK4Vzj_XF~*VH^Jr zkQbqErPcol$R$J1U-mRC(}3Iu$U8w9|CjY*2asnC?mq+w|IwI!gLh1C{9E9Tv_x_L zazNfN#^NqOHVyk(1LPTFbUH-Gu;;%F$SsC#JWV*V7l_{RvUI7`Gv>~Vz!@67_!U6r z49fovkXPlnQx9+a+we$+ZQKROHd?7st^)FiLHX+exnxlOtALo+@{a)71P4XurvW+p zOS<=4_&au9@BkqEN18{8z{(lvSsgfU7=7O-I?TqHJ&!tUzw1Q<=cj-(Cv`}4ehrY% z8D8Rl10uc%_6|ZRz55xA7ZOx8%3lY_$BkAUK&~0{^hrR-z*MX60pwoLgE3@Q_k)1E zYRrqD0OWPU!ruhsH3R35{9RNAvVCDL;hzG8-&8E-;5k69$uT{^#Tl*6aQBj-jXmIe zN{;DnKTWB(A2V|{Y^S_I~PBzn>(Oy#T*E@UZ zK>XS2>~_V!>pMIB^g#U8Zgo=e@7+GVYlPcDl14&T;g$GhN+(YC)7{>%e=^CO*G{^J zci{sM5hRw_w!qrP+BS+Fy?z$~&Tv?7Tuz&ABiwh|I>0q$bm!@)$M;Sh$`%rkv79+r z&7%(67bDRVstoSbu@UQ_u_}xYTKC}6p1zAq5nGaEmjYl5q{gLpF*CtY#H9-bl73nr zbUUTohWrw}dasuZk9z1SyY+AF+&RJE(MKNz|NB<9lJ&LPHe&K5!KD}=ztb9+Q?9SbZ6{PWLgR z_Bfwq)R($_jEdlLf5xUfztY|BVSVomSIYBy>2Mo^xAI`EN}AayfEA}$X$=(p2u&L= zM)ko$a@tsNiaP%XgK|Dt_TXiTT(9(6Ri$64URYUo&?1|x!pF$*E6*Dbq;#^KRNI3q z6)sTdQLOE1xGj4WZCeiVU8P6Sw)5e(^hma?oIXbrwlzFjZPoYS%h%utTX2+YiODi}F6T0)K)@#5)qFso@sv*%>&n-PYcypBABSU>D?2o+rQ3s<&H@ z7UE&y7v*wh(ApohF;*8k>2_-$jx+5Q=~6k+uqfYhGaXBXWvhYYQyZ4y!ujg3Qy-*a zx_RNjR$`*rt;|_g8!jxqf21Ig#lH`86Lp)9Ip3ro3-yONS& zR|n14o88_p3s=NK;Chu6p@GmNDWV5K=ppnd+BWELR`MLq%4*Qz@JEub(6?|c#@`MW z;|s4Xu)K0qDwYqUKf9d`!6MT|6istqVu=soyQ@qHQ*%pd|CGBu$lEcZ@ zN^&fpv24ED+>^_7_@QRzUL>_Rdmozyore+^*04s5vX`2H6sKp|U5KKEmP0dOT0!Cg ze5Lla0^Wta8-Y}0TOyy4(WvHpyb80I*`TDM<+xI|42wHc;Y(wWRWBb3pegeTAeaW0 zk0ggLfNIzebWsE?kEUfoVX78lF5Q6fL>L5GAMp>ICRTQ;Yw+xGc)}qu6&4Fq>Rv zfp*2X>QPr7CmlDJ`hBSW<(iv9Dq?O7yMVbdykh2NqZaFyVL=hCG3o|#G5VJM4cb#%MzeetHI0 z4n=FUgETF?JgR|V4wDZw$m3%Tc$mJ0DCs(riY!AIM);v-7hWV~7T(9ERpg<>g*8SS z3h+`hkmB^Lkq%L`&~j)7hBrt&fS<#~8ss2#3r|vYDhn)-P=3O@y7I@GK?JBMlL#P~ zMv;${C$=%>&_#fvftE+p8uc($3o(~&V89~`0xfbmS%V+pU|}lC_G-e+L^ut{C#$Er zk$7onHsXD5nMfW^j>N{ulODYE46GcA)~E+*T6lR>14A7qA83%r#~Sc3eG4&6_dIP& z1T8~7jadf6idY7Fo?{s{PL9OJnETYg=owf!6s-{t(zNjMs0Ic)Og_*ckB>FrVfq%L zq$|oqi*~7u3}mC*l>0u#5H)*|6{sL-PtF>|HSH)@7!AF6R}H&?Ds#CQ4T|%zY^ew* ztH~I=0)|zHX`pR!?s~bb2uB@Xo)W}S5L~J@9F%Z^E#U{~aMX{^kBV~+wc+vsJ`33G zuQhA+wPv;2I;kQ+S={9YHjvjbzWg85slIEAw;Ec2V9Y0&wQ=L1Yg|5l?qi- zM+NHebSQ#YobD1kr7Vv62s_#I)0W7^=`Y}*b3y7Es-#UPX*;8&ad_BC*EVgD^;UlkhucmiTRX`RZv&{YtR-vr3k#K}l{e3CZq&+& zc5vW;3_^1x(JD2;M@E2hgig#(6M9@w&JjI25s&4 z+Dcgpo`apsK^*@LNx+`xQV|D%Lsaa8(E<6-Bo8DM({J|@`C5yJV8&}AB(4olC#(GZ zp0&*;!lCU1lW7Z43xy=i?MD#=9XD|(FF{xYICwp&KBS8Ws+;VU4;9pAsfQOaLiZHt z;(&L3)E*{y!HOvRqj@aP9!yEuO&?D0*AJ6eexV}>I zXoDhrf>Tpb&Y7JGF*rdjlp=DK$C##ye5jS+Xv|bJ!}O%dS_w{8FOHzLp;^C@!Jk~a z&m|Q#nH7?M+6A&zKXRPD>sX)+9t+AOQReC%??Tub2W75ouE;3aOmY=g+^EIEnA>`6 z3Bo4o=b5vng!(y-@%kB$XUP@~6cos;7sFtyl8@@7d- zN;#Djb&+hBhXPZjC#A%i;>&ik46bO(t14$xqb4NOvZ;7p>Ez+#XGzzCf#?TT?}hz( zPrhv+^FLNZFjBySs!ReAy;G%030`BA+M| zpXrSTmyzP)h1d(I8=Fzh1no5`R0Lz>1Ts^gxJL8O5}t#tIM7Ct3{vDD;<*vOibT^% zFtY?y#%Hx*1xxLyqu$7Dh)9C0*E{U$13Qmw8z{E3;4qZ7ds$wx*nfloW>W7uJS7KbCva z76o#M?J~FinrK0{3fZ{5LZ{mgZSaa>8=nZjB-%g?a_f;Hj8*n&e* zuLw#AnK2QeM`O;7=NO}8giIUYV`bllk(voEf27(v7HgtYA81p)?3iyQWWM7N5OSEd zY*NS)c*n5)Sb`!v&=fa8*J@{y9mM#^WG-Mz&{BO}>1(|>EjESS6i$dh`y$g%Vqk=c%A~s}H6bCaY>a5XTuBjh*BdE|_}A{^Cq)icdolr^ z7BL|oD=r+a9igbjmJ3)4(*zQI3o2TWw?d?oU7e-=kk7R$+d?P3D#BPgTPEFFE{>$e zR)lOvDyfeS*VcE+)hgO&x6sjw&K!(Lj<6&YL>D{|hb`H0nAlM2P(~pW3Z|OE$bx<> zmO5<&QX-xRg;6%PZAwk~5>SDaC@*{3&H%3l9D`RJUF;8CQ{^jw7kX#zCKSWf?OC2f#)bJm6^y>jJaRmWrk9hPx0>o7ZFM0QU{4t@Fv*1(tSEr!~8I@n&6|PTq29z&Yg@(~;sPUDuU%z~G>8PRjGUt^Q!hF2qK+S6EU$ z8%DBURJO>DY+t|8E|-&Y^x;+JOK88pR?P|!Zx!ocM-vW1P1&FzHhBci6~&!>(}Ta$jA5)AD;=_MUj!4T3o;MD@PG0Tc5R7F{!{RnPuu|169q@--IUZ|7|+qA3(G6uHffZpR%2cAL* zt4JY67Tu;jyg+q?-u&Xp(=r{%$uu!_vO;EfQ)Fbg=p46S^TUkIDy0W_Jwm~7~knyyO`ju5qR^6k(xD9x!ctd!8%} z+xP6;1I>}}b3p}21?!@qjVYyR9p~dU*H+0tnxd{D7|FQ zu_VQCUJ&7B6pj{AIKqJ+Y;PMyqw7Oh%8daVr(~3Slrqv=I_yU!1|(n3;dChvtV1gZ^?6EYS(u^Q|CqP%v97oQMz zEsuM~e=_=_7nD(tU-dmD4tX)FKFG?weASp9IUyr?{_N=38hmi@JRu1~yX{NCcT&e| zEcla-#-Ewax!x?XpB^zGAN<&EtKCl6nKZy z@E|>6vr#L0uJ6oOtCVYyztdjP$ios8wVtCGXPm8fJMYC1lr|zK^{8HD-8d0mnk-~V z|JYS(s#VbIn_bEJ;Fs7SZ{nG*39D30-{LWkgUhsd#8fL zX_@d$g_e|VCgHNBE@>-oK_*c^l-cU0OlL_N^flg;sRO6R^<;vTcs$vJw)rU4c^&he z;|MABIbM`#`_i$(aJ{kQkBK;b45PLnD13>Y@Q#EH*wWEXiW40nRk3rW5z^%CnX`xY zn<6nKU+|1+G{|BhfWBF3zQz_hX*wZIA#G$oC8ENr3RG$7r1X-OlJM$1CM_Xd(FipQ zPuYMLi)lp*!D+I1-PmGc(K^Do$xS{$PRPjC#e|2X;?-|m=j8+&DD|B-ZsXitdw9?X zK0vKOGHBG>bzHNGa1(Ds@{nLVsV*nk?)Nf#Ycjj#Wfokt9?=lJqP1AD{t+G&~8hee3*r9y;)xEgiq)B<8h z-shZS3t7%Uebx^>jL}?^0jDyQZDm3IRLtvCW?t<42h=kQMyg-Igo*-m&nERa_<{@V zdO7j+m`6sbEP|=o8}_qnjHXOd$~uz>mgXxv@k$UHYyL_$Bdjvjs z5(l0W-{{`!q|IbM-QOAQj{S-Ns=fBXtSJ%Idu+$SW16H8^7xj>C~1<-!V>8AOL>aY zn<^Xxb{=M&D;!r)O|O&0>#_ucteNlOW4tGb`z<}hQO)tyqra|m2B$8{c=r$UpYE!`s<&0Ur|4@tvlT_t z%`75vnzOypkj3JmIz819XW~IvhMFsl)KFv}GaA^*s5tK~lA=_kM3J3O#AGleY@jj=%`QDn@xO^Y|vFXwC8YC6%}Txukz(|>{g1Sst(8W zofWk8@^db_;K6G_=BEx2wdfaAlZOi;NIG0SvgpWyH;NK5?#umpr`g?4>Wv0eCqJ{0 z4C{MUypG1(&=r?Z8}@$TiEuJe=5|ouRH^C`>%pF@kj~T5EbwfYJt1< zt()QL?h?#?I6k^B17D@%9~tD~#WV;>xvuN{(gVwL2rTKS19pnf@W2x8UA+tbwva<= z1-|9FMcYQ*h6UHSWIbowbxhae$+!YsMUSm{cX^zy68tFpI3I8qUo*`8sJih{QQ_IbGOW(?$UC1dA!^;L z%=3E*S`N1n!{d?4-br4cFF^PrUKX;?~*6OvLr)uk+3x@1`M znwWkBDQD!d5;TA$B#k`QL@l4OM7^)u>L@|IkA;}whf+vCN+x3Xp(dbX7bKvrO51MP zb0MO?HG3*$4B!Yo`sveCO-iRL=ezwY5jE0dA)~jgDWV@Gq((;E5>R>$uUTw(T$dkF z2rc|e1WPJ72RG|R0W3}7vOm7z@pZ?GXZI$IVK@`z}ID!;DjFt%=N6>|~ZJ7FCi0ns@0!JPzaRW#~ z*vMl|RL2igoBHbKeJsQbKa@iHQ8E$34`q8Xg)5d7aD{FNNs6EqrfHdJh&7>UimaTr zL|nrW(-z*kpf9ZJ@kA6)bSO@ZVafjF;0k+)^EG?(kZ^|O`IYW|uiHsG!w2Ef`_1~W zej>TJEo0XZf{(&V9t8uTCS(YQraHZvv*@00b?R+RW*376Q3i%RX+)SMJ6>~)mWMYA z!I2{iFBFDDf;^uthU~dl9CF}_n8fw248>5H=QU7+u1;rNvBeW^PD$rRdc*8Q17)wNTe$Bo3>N4<3A!5XQdd^&SrN2yE;g#O-;pt=Wctc#s~RfY&l4h zf{hWQ!9NKdqrowvH0b2EG8T^Vx>}Mef?SaDsTF$BvP*lF zs>^ZudXs`&Xp>{NwKwY1n*v4on2ic@D$h$VHx4hmSy66h2Ce;38{yK0PP*ONhc``o zV|1|`YG0IpxtUI)+OpkF@I7S9&tyAyR8pxzGFuhpW&5h4-0XIR z`GuTRVa6c>MI|`BONmkIQPZR645QJgD5vt$uzz%}(_DuK+U{P#caZh40gE~y9d zQp-A`Sb4PcahGBSDC)R*bj^{^qika5(YD7vkGhSYOFuO1xr{;$b2-{3kju$#pg4r; z%(m6U@$%{E)}X`K2qMJfp6+D8|FIpJH6hHpTeZ)>Dj=-Krq3kkJ%m8fxxv zw+r-aJ0oNcG30`j_2G5;;-{}SDagef-hzD0Mg=+9!&{J--K;3L(6|<58)`54J2?z3 zNtSnr;Kb?ZBPk{JQqwWxG|f?qQ#EnpbnOv}Q?{{lXorR&he@be4mUdt$>Cz7OX~i8 zOUpQ7NI8`BL6FKCBRLw!pp=%=NP__p>hqjHLM?Ey!d2B-M^7z@~p2x?=m-L+( zO$)naCJ~%C9ew1bgkEYoW}K!u>T#+jZk(F3tUOx!xJxku6m{G@y5`8|Q8uyjXxn3-N8QHHr5_shTt=aWxg2d1$mL`= zP#o+unc0kOG7+R4O1cp!DZTV`)Eug&0p!p%k#i{9gP%j&M$e-j8u2_fp>}!v>~YWI zW8;VEv-4efcA_EWP|^oKEF`0+qvlXGhdzg{iJU{(9{3#EHhLcQ(0J#u3AM}PXODXx z9~)oN7d5ZoOEs3s6vQu1U$+j~i(D>xtKz&&iz&{{Y*(D0ZAHa7+AYW688WFcn1@Id zm%=E!73XX;libu@<4t^%2k$_(4y(AbTapbt54X2$+G)?9hub?x55y;lGWo1C6537c z8G`(Dj_gAOCoIP@?lz&F>8LU^Bo8I^1=^reY?LUKplTEqOFK&Y3PqDyYA6RUDpk;6 z6ibfcqasd$@-M&ASD|n}LN(mc7=Cg3>XUsw4fuJeHpTfY@Xw<9W|O?5!R)zcA$h2G zXglfJrrk-wBcO0wnN{p(+|Q- zowATwzhhyNTSaisRdzv%RP7W=3Ms?4ERf8&GG04^kIPALQOOqW3BbQ_u|hea&mKzY zra)>!sT}7SxDmqJC3F4IR4klgxw6u(4+iJ!4IC~$S|g>%^Zk~FU`%aXa>ZSG`OH?j z*TOMceB7Wu91W_S(f&5>cM0FAfh+hTL;jY^lRq+aD+g1Kr7xICNK3eXwCdN=mbZ*2lf^CHDn7W$caW#`_{k2>s4M?N)S>j*3k@CuJy z@MptL_KqEqeki3`!_Hr?Wznj-5WBVCYdgwQkJ$$>BaL!7S;wG50&%olYSw}15H;&m zbO@~+xHMc1*VrvZ5A>@5H=9lN`Ixf$9-`!shbQR4v0E8Qc?tKzrTzK<*Vzv7A(v)# zQ-5QoAbx~C-A~d?ck83}Fsb)?#37oMAS&=RkR056$oPnqoFX}Rf?lytF*PxQ*4>Hp z4VLVKPTDXm(0dB?D`~A~c~f0+$eZm7GjGD%m__8AVA?A-!N!8KF{9BA)jI9KdPWgcUB1p zpoEDQ9Xx1~nvYmu{>phdMw>Vv*Kt8f+8XI)6lkPzQs&MUEjww=l6-|#Xi|uP&&-#7 zM8=jR*R=h-^VYUdzsFze#-$`QV9o%m7bvvQbXd%t4*Bf_KmDUq6DQC}N%{9oJqy4PF;M zqCbct7WV5sdC`Q~39BfeXC+jT6T?F{n&OtoYIV8Q8KnK;8m^dU*PH@~{Eq$QAK-II zb%*j~!!N%*1QHrDMtlN;a_{VnSi(Kgy1+!UWK#Z~{Qb-B@BG8M-Da!6=dZWQ*r1p5j`2ucBRgxW(j3$i=cEZH~*T0)z@bXp=cq7G$ zHUjOSNWlc25nYJHTJ<~dShcPoL>P6{YyEU<2~ToyhshegW7(`CK4G8akzdr6t1Rx) zpQO3qu1E1oCHU;z<+O1nY2*D++=`AHQDn@mMg1{+Ngs34uXy^DhWtQsp{&zxA$VX} z!sm%h4LUh9DH47MR*Jn{_VHx;r~q;xeCtScZwjP@RBYB}9Yn2b*sr&Sr~xzns?2~0 z&&o9Xmrg@yr;+4@F$pL+H^d&lspJZ#RviOZ2V({~9SUO!S}*)1pllU5nk_$_sw=Il`^v>I_r8}r;V-(N0U;?8l-bw+ET&vZv8vV^Da&Nm?t`PE@8I$8 zDywLCiZq3stjKb>c7);|TZUjkx@J)Dupf$+ z4<1v%XE}QBhhr#)m#ah8NOIDPrOu$J&|g2KRJ@7cf+6yKjTvA!Mu!X2Lu_4<#~>mk z(M#D*ca3n`45efC=r)twC=T#V4GEN(VFoe=mf=zXTuB!?_8JAKRt>?op!mNPr( zbIzGzM22sHs8J@%6|r?>JBaCPa*9I6qN9UR;#n&@%dDK&r0q5SvJ>tWsxTcoKkYq`43k3j zI&I_RWO=}LP4OAs>|8PIii!~Qt?tSq@=@FhZsw#(uREx2*@5@lK^&(=VHW&k|EO$}eW>>OjXu87cdm_V zf|<`jNqDPP)%*Mw$}nR+%&V%5UXR&;J`5d^KMhuALY{P;-f-A5B3L+wSq$&2x}}ZQ z1g99B<1DbmfG!R9dc9fcz4As~!U>BYM;>rN1*=N$=kjk!tih3rf)IVueN%qJRxb?s z)4k)f(0VaWJ&Se%^^z8=(1>0fudG#sw3Ip=bUXQZKB}aO%p$TaQ|6^8#AMkXquO9+ z#UiQ}Etn}OCiIjjN*QC_Q8^;}2)VMOaT-ZZkbPcsm3sxnyCRFkLO#h90&*K zss2#C6E2RW2=onDCDL`FE@X!=$cgbCmo$4l1X&=)0#18F!Ep4Yyg+}_haLFpj&)y& zcq}49l2~3jhN(h+>uh;=NP%mVf;JHh>V?IzTgtv1!Sg6`qSlgkbQ~ve1?Z{WO7ens?AZ-;I;LSOF@h$j zfmp%%F?e7~W*&rgP1{({Jrve%mOhfIzd=kh&*D zMh!EuT*X)Rm%PXnUYTLvF~q4JbMj7?vXpr`BJb~;hask-2ToLzbO!U^@W7Iv+FQ`Z zWF}UYFOSp@tWOF&qtYi8gY{EbRDJR+qvp#*Z*w`NJ|iV0g!LDUOc>!o@KBaSmXyPJ zNra417+XYP3D<_Z?x3T*8t1%N%6|&L_lARG;gD(%dG@6Tas$nVbUG6by2sub+ zv=&+I7-HHLBGh=W^~?%9_V9ChRdc3%ukt>1Po9QSx_CZ;#TqO~s^$ zL{djsgO7O@feI_9?ZoVO$0-C!DdkMUcuQ~6cHX*7r-($e)lr$w_%!IV<|$JP-cHby z9aggPWIOIAuhi~!Ov{cXtJLdwQEI^Vj+Gr4G^8AusNTJ%NIYR40A4iq9;QQ1NLTDU zaYR&FCDAe0kqG}U+7 zY0}zVdw75=T5<3oX$_J=qu#Ff*AOWp7|lYB?WDS#WTy|7X>;7Vt!XCAw4Tws1nP_g zxVzzcc9h})g@#TzM=A8}8IYMOT}@ux*}&fMXIC}UE9`Iz_TVWrXLns-Q8V_aAxhCE z8W-y{34&EJ*xchJW-dcI(9fidLq(GXhjNtdWogJ%%5b^l~QrRR4k*A7u#P z!vJG76WrMOT|3Ab^T;q&k&rd?hJ9m`fTHoKQkF8$B!Y%*^Aq5mZZkDH_SUf1dhdHF z!hT)V`{qRW1Qk4Rz1`aD;Dp zo4LjK>5`SwYBSY(gE$tC+Xv<3=KOTX3F)9o-x;@@Bt%bc^w9kHw1iw_GWKh|sIa2* zqOczmk-sK5>?L{G{$*)SM^|0eQSJ(ZXqNhu|It(TthryFdq@09h@wSGXEMq!fn zft*v|*n&3X&&?_jG!{!&te|(ggf)r1$p;b^+5+JT z3%gLxn74)72tLNH!tnzTI>G3~x7vJ|DhJtznFN{@5$A3o&J{NacFj=!trkSnNNC+3 zGu3dySF^l$kKy<*%>vcR>%dj->oKF;Kw`$cUiJmn+SnPK zjw$0ERrm>dR~M`4R_&fKUmrXE$c-hDrlVP81~jL8qahpJ&_0H8uvm27K0--NMfQb- zy*jBWUNBT)xt@+rgP4>ovXhJ$kU|Rmy|7pyh(jx4KN_)d3c`n)~ z<v&^mxx@(Uk>_6s5v0mizTiv%8y5fE80YGnR4_;bqks# zMuAKBD8~=~bQZD~T7cP&rfJcW@@b|s{duT|k>?QD(h(Hw(4XOfEtUzY)f)G{zCFZ|+9AvF z-OtWk{WxicCnq!NQ7p*EM+wcy!cg)L}f4Ca#+b*o4CT=9K$cM?CnVO#aFhzLo%kzV0YPe+s#A=mN3F;LBd zJ>~j{4R2I+S)4B((;n8ZVzSpnspKo>QZ7N4vpRX;5KL-7IBc#u# z&+sMv%Dhi-OXwI<9wk$}0Hqw69!UFpwjv!$8d6v$j+7&lhNLK!Ej=-$d0SC2tXx`_ zSOHq5uF7XDx$f(>I+j!s94V6@$CN07Bk4H9Lh?9jvW-qd%A;h86kwO5qx0SVl{_6O z94V30e}-cU6v2^n#2obw@P;K=5#*wjO;K|wn>rN8zL5)w9Km%Y_T%~mj^O6fr6DUS zuZCNYZZUZ|T~oi61#2F!rj6F1)wSnx4xW@VjAzQ2gQw`(#!BM4(#5cHX<3p5XqkF* z=3BMtEEN$PDU%<^lqiBD>4P|_g{25|_iY+u+)*4Jv=NmA0j&WEOhv@z-(ElhA)hy`)Owgiv6_L?GKZ^!EU|P9`)1Gdux=M4%5ToR@&(Hn*^w` z&%a{^dO(|4ahYD&{?W-^y+1rTUqZf9!&SwQ6%zH**23xKq(ABmTl*=R zEy;tW~1 zfd{#@U*Dtey9`p0qQmoKO||O13F}yL89O5Flsd?tu(3`BltjOb@0mjM#l@vkx<5)- z*2VtC=0Pdh>x`0AjG0Yuc)3p+p?jXVNeb0v{OEaOP!f-mc56U}l3ZP0ZTf0wsW(VR&F)=nleWz=rvwNU2 zDXsIQlpqgkZdSALxBk56XrsQLO2+R^hZ!Cg$a8!{&+~Al3)`_MRS#1L1_GN^DOD+1 z8*FqtWRdh5$69A))WN+Ak_eKINcfTL3g`d@$dT1 zPCrG~&Y!ef9h&J3tByUhJ=JIz8DLskZMUnPVgHEDM{vAvWh>#viuna);$BOJn2^&c zoumnVaxlcC8TGQtfcldel=_posguh~OAAYx<;y9>$BfS`FlDaqq9~cEsyX|PL2_}s z<`1DucqCs1tOVAlDzF4)QH(=vjlL2J>x@l6E?0dAY6mJ54@<^>ucZA>+Fqz6b?BYh zhNQ0~FPHo9N}b)-9-Jd3zgN@xm6MQUte5(%uR8Hd46?5}fmrA2(dGd}YaG_0O3b6~ zRjJJFheW5#^DFS&SamwX6(}Pix1X>fWNu`4gijM)1UkKb(KtM;@3aoev?V@hC5?7{ zFkr6?F%zTK$*Q)>u%QVBg;EqDh^C#>xbnSL-%VNZ0rG6(orcYgTEZ_tY&lJ}fkO!u zReEUh{w#RV$j-M07j_2Sb~+@TGi}e}z=i$JsCk)B=v)Xt8=e_IR+uYJueF{n!*i~6 zaMa|XdcQ@k0;Oc=OX#IaJKPIN6C1o4m91g>p%!Loz5Twg7apI<$R)Vrsxy0 zy91?lXi+pfjU!8GA6Cpl&iV&%f%RatGhnun93X&4$jqMM4gXdM=WJN@xf8rKcZn=b0z~T zibF)+pO)$m_Zjv5!5)HSq$Ualm%TEh5GJ8H*fS#}KRk}wgn8|w$9>CnXX?;aG`0$s zD=>QLwWxPNr&U>IU*dfL)2n??iW!;KTKl6m=0}%q-UVf6spOHBpeS6X7^zdRbRs6A|LA}F-RkuSj_h^bVz(hrVW{S;Yohi8^mgz?)-244WP z1SYE#tUrKLZOB|)7U%*NMZ7dnR4r;k#be#9IMHq*1MCg8>@U1jnjtRN9Ttu(huOZ2 zD?gfR6nS9HnIK9$J>XWHRzuMXLcN2OuT$L4Z9{I;Adv|xu{Qf%IxY?v+D`jW4pyJ6sj#9@+^q-F{!qm;Au9__@(o~=zK?yEmn@7@ zPs;=Zb8q~+2$#XUz`4O79S-hULOfrl_eGKVql-vh2E%3pj%%3~OAL&#b20H*4GrT} za{@9dS@MyzE8D_h?jTiAaZ)6+;^`#<)O8f1M!oY`b(p83G&I^hJ&b#hc|@^Pp?ioY z5CBO5}irP9V_no)U*W-%l) zPhn$`Kq|jt0N07&v^y}O($M0yK+%ssYNw*u2fsQF#9S zdaHwqQGL**B%A4o4IlefgBU=M?T}X~v4nUuNW}u`n|YN}q+S$wWU%C~^c=MW6_n#K zON2De!jx6)g4GE*yPZh4d`5&37dkA5WwVgN>9up)^qq!4=ss2#D3QpEaA;$rzTav< zzpOG&YDcddJzDg_laR7aG5wSus+{VhS}c6LTAxVG1LnLuMHSl9%`^4dlD`$jNpUQ=jB?uf~$qQY{Ryr6_#op_H7F&br zVGom>W(9Zin*HnUOLKa5#6!g?wra6bYGy)=%r4toiu5se+_*GWR}x3b}yTx11;FGPGfYNz+I&8BncDTRHy3jBIsLW*iDPpL0hh}ImdmQ|tx1O5oRmao@IY5f@a85|*xy&q`}&i>$lY9v?{uzSNQg9nX9 z8}$$6iupp=5DL{g>9~IxJNdRpvY6brZ16K-v}`z2Q!YC~J{HcSa;aCRlfA=3?2z`c zcA)NpJ>@}qc^+LtRyx*30=Yl$63W&WRIJlO8q4c?YEmD}bL?ZR{&xc8fC+`*e_1J4 zj2DBmMV99jY$46u0L(ngi1pNScZAo}Fg}I0T`-sT8jS?`ReCuoQ|@L==RkrA#>5fB zOs^e68pDmK!PYn2Sy7&CtI~*$QGLk@pZ6WW|MGg*3T+;x1DtFi+0EU=Of>@*Ytt~h z%eECXU+(q>b!_bSQ@#6oXllnta)MYcPvjOd*A>idKZ0e?rkTZDGSs%6p;6UFQ8Mc% zD>rVYeU#?*(FsIq*dC^>dQZpM-BG>=Mm8hs%(3|q-Yd`zf04ZiV|)Wa)rCC*!ncmO z7lqG|Vv_{D)q>&Rni`7O%N4L?1-RqX-e__715lXH?8avX!SyszHq?zHNiDtn<5 zi%`~JKig8n+=XEjbuX+?QSj9gXH$=i7&>hs@uH(Cixib2TBq`dm{?kfM`;%Vv{n-v zlLIcjA8~r+R-YIl9pbt}x|;)TNn}l$hf&=?lmQJR6ECV^IbCOCeaG04R#Tt3O_gKV znXb&Z?7`=L)pEK@cjdBKwJpHGQ%LZ{@xE~m<$m7WAXEi%*CxHZhCo)T!o~F3d$P~= z(LAM!gWX;q=i+ujQtXZB)#P9_EV2MAN>Gw{R7i7R8(*4dMP@c#1(JXNNd*jUjN_Z@ z`Snw6R*dr<9J&?7`82fH?q;VdG$W=YUq)v>6Itl#nKbiTsIr|b~Z4)#A0wWCnb zPjMcT*6*FbzBYCmwrZ5HtNo?Cs!tD2#MmS+uy;;NWKJa{dXgh6fb$(6Rq9ofLWD^6 zJ|G48aQJj+Fj8TeSTJ>C&CKH@oKgz`Fzw{R>CnMUy{67R zE+OFb6s6rr2QxRF=4rkl042D;deN=&v&^RtSJ8fy5SG4vC1KUSliz{-D z#ivZ|Fqc|g)Ik#C)F7MUEbujJLta-{aKDf5A$kwEdBn{D_4W`j}C5v=}^bv5Tz} zfekL@a1R@NJJ)p%SwS7X#^bh}B+Ijx#$GJ8JQ#U&Hb`PscLb!cN2&V?bvWj^zAs4Q4kL(6*AAcbleeKrGHfEoM`0IG5T%3b zblv5my6#d19KI-*yHL0M4F`^Ly+}hmPGm}TO;52}7$#fol{;0Z*hGmTONzAmH$S&2 z&p78ApU3izYKlDS;ah!Jf}mMy1C}bz9Sy}+SZLcRix`}|u29TuZ^%8zC=D_}cp8yan diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp deleted file mode 100644 index 71829ee..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp +++ /dev/null @@ -1,195 +0,0 @@ -#ifndef ACTIVITYDIAGRAMMERGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMMERGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramMerge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 29 Aug 2019 14:30:46 -//! @brief Merge with triggers for activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramMerge.nb*/ - -using namespace hopsan; - -class ActivityDiagramMerge : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event1; - double event2; - //outputVariables - //InitialExpressions variables - double oldEvent1; - double oldEvent2; - //Expressions variables - double dEvent1; - double dEvent2; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent1; - double *mpevent2; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramMerge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event1","event 1 ","",1.,&mpevent1); - addInputVariable("event2","event 2 ","",1.,&mpevent2); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event1 = (*mpevent1); - event2 = (*mpevent2); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent1 = event1; - oldEvent2 = event2; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event1 = (*mpevent1); - event2 = (*mpevent2); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent1 = onPositive(-0.5 + event1 - diffevent*oldEvent1); - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - qpn1 = -(dEvent1*onPositive(-0.5 + spn1 - spn3)); - qpn2 = -(dEvent2*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2 - \ -spn3)); - qpn3 = onPositive(-0.5 + onPositive(-0.5 - qpn1) + onPositive(-0.5 - \ -qpn2)); - oldEvent1 = event1; - oldEvent2 = event2; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMMERGE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb deleted file mode 100644 index 6a5895e..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb +++ /dev/null @@ -1,821 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 42264, 813] -NotebookOptionsPosition[ 39039, 737] -NotebookOutlinePosition[ 39496, 754] -CellTagsIndexPosition[ 39453, 751] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.7747986777531595`*^9, 3.774798837507168*^9, 3.7748614276997967`*^9, - 3.7748619672501326`*^9, {3.7748622394111714`*^9, 3.774862251182107*^9}, - 3.7748623403373017`*^9, 3.7754917893881674`*^9, 3.776070646525416*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7747986777851257`*^9, 3.774798837541133*^9, 3.7748614277577357`*^9, - 3.7748619673110695`*^9, {3.774862239477104*^9, 3.774862251248041*^9}, - 3.774862340403417*^9, 3.7754917894141517`*^9, 3.7760706465633698`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Merge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, - 3.7549934529137363`*^9}, {3.7552829494329333`*^9, 3.7552829554537253`*^9}, - 3.755372579530821*^9, {3.765365387482224*^9, 3.7653653881771164`*^9}, - 3.7747983306164637`*^9, 3.7747986736373167`*^9, 3.7754917486163588`*^9}, - ExpressionUUID -> "9d4f453e-9c72-4000-9122-ecf47f5aa6af"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, 3.774794209791312*^9}, - ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550214271472473`*^9, - 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { - 3.7552829304305267`*^9, 3.7552829350098047`*^9}, 3.755372577184243*^9, - 3.76536539267952*^9, {3.774798658558407*^9, 3.7747986736373167`*^9}, - 3.7753177220186896`*^9, {3.7754917480639286`*^9, 3.775491774528488*^9}}, - ExpressionUUID -> "d8e297df-a6c2-45e1-bbf9-562a2f6f4d24"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, - 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, - 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, - 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, - 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, - 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, - 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, - 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, - 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, - 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { - 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, - 3.7754917894640894`*^9, 3.7760706466322966`*^9}, - ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "29", ",", "14", ",", "30", ",", - "46.6033273`9.420991788461784"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, - 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, - 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, - 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, - 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, - 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, - 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, - 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, - 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, - 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { - 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, - 3.7754917894640894`*^9, 3.776070646638291*^9}, - ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "event1", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event2", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7549933065196686`*^9, {3.7553334050165496`*^9, - 3.7553334446716647`*^9}, {3.7627026686193905`*^9, 3.762702670838029*^9}, { - 3.7627027196525707`*^9, 3.7627027226382403`*^9}, {3.762728482505171*^9, - 3.7627284849986467`*^9}, 3.774798673638316*^9}, - ExpressionUUID -> "f073027b-0651-4a76-8093-b13b81390d0b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.762728501412943*^9, 3.7627285128314185`*^9}, { - 3.7627285870617857`*^9, 3.762728591136469*^9}, 3.7747986736393175`*^9}, - ExpressionUUID -> "526a0e78-dfa9-4844-8861-722896780dba"], - -Cell[BoxData[ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "\[IndentingNewLine]", - "}"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, - 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, { - 3.7655560740431547`*^9, 3.7655560873095894`*^9}}, - ExpressionUUID -> "c21e7961-5a84-45f3-af61-b43c2481c92c"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", - RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7655559532852836`*^9, 3.7655560954859285`*^9, 3.765954365574082*^9, - 3.765954400227334*^9, 3.7659545129450517`*^9, 3.76595457686611*^9, - 3.765954945457864*^9, 3.765955176309712*^9, 3.765979013076853*^9, - 3.7659791492833395`*^9, 3.7659792908183327`*^9, {3.7747986736393175`*^9, - 3.774798677972932*^9}, 3.7747988377319365`*^9, 3.7748614280806327`*^9, - 3.774861967682685*^9, {3.774862239871213*^9, 3.774862251628648*^9}, - 3.774862340780019*^9, 3.7754917895629864`*^9, 3.7760706467781477`*^9}, - ExpressionUUID -> "01c870b8-aaba-4716-af93-eff1bce22607"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent1", "==", - RowBox[{"onPositive", "[", - RowBox[{"event1", "-", - RowBox[{"diffevent", " ", "oldEvent1"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent2", "==", - RowBox[{"onPositive", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}], " ", "-", "0.5"}], "]"}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"dEvent1", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn3", "-", "0.5"}], "]"}]}], "+", " ", - RowBox[{"dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn2", "-", "spn3", "-", "0.5"}], "]"}]}], "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", "dEvent1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", "dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, - 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { - 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, - 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { - 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, - 3.7632029908427324`*^9}, {3.7655560484177923`*^9, - 3.7655560675078773`*^9}, {3.774798378062895*^9, 3.774798386262143*^9}, - 3.7747984458280263`*^9, {3.7747985315413647`*^9, 3.774798534616194*^9}, - 3.7747986736393175`*^9, {3.7760704479443293`*^9, 3.7760704713202305`*^9}}, - ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{ - RowBox[{"gez", "[", "x_", "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "-", "0.5"}], "]"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"not", "[", "x_", "]"}], ":=", - RowBox[{"gez", "[", - RowBox[{"1", "-", "x"}], "]"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"or", "[", - RowBox[{"x1_", ",", "x2_"}], "]"}], ":=", " ", - RowBox[{"gez", "[", " ", - RowBox[{ - RowBox[{"gez", "[", "x1", "]"}], "+", " ", - RowBox[{"gez", "[", "x2", "]"}]}], "]"}]}], ";"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7659535016962757`*^9, 3.765953537227621*^9}, { - 3.765953591698428*^9, 3.765953633491314*^9}, {3.7659537776016474`*^9, - 3.7659539171926427`*^9}, {3.7659541480864477`*^9, 3.765954159366811*^9}, { - 3.765954190309889*^9, 3.7659541911090636`*^9}, {3.765954243895609*^9, - 3.765954287252881*^9}, {3.7659543284363947`*^9, 3.765954333668998*^9}, - 3.765955249245471*^9, {3.7659788223116503`*^9, 3.7659788600786896`*^9}, { - 3.7659789102459354`*^9, 3.7659789340304003`*^9}, {3.7659792402524962`*^9, - 3.7659792413014126`*^9}, {3.7747984022434483`*^9, 3.774798423106389*^9}, { - 3.774798465435588*^9, 3.7747984916353693`*^9}, {3.7747985356591177`*^9, - 3.774798567507405*^9}, {3.774798608475299*^9, 3.774798613738011*^9}, - 3.774798673640315*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent1", "==", - RowBox[{"gez", "[", - RowBox[{"event1", "-", - RowBox[{"diffevent", " ", "oldEvent1"}]}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent2", "==", - RowBox[{"gez", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}]}], " ", "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent1"}], " ", - RowBox[{"gez", "[", - RowBox[{"spn1", "-", "spn3"}], "]"}]}]}], " ", ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent2"}], " ", - RowBox[{"gez", "[", - RowBox[{"spn2", "-", "spn3"}], "]"}], " ", - RowBox[{"not", "[", - RowBox[{"-", "qpn1"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"or", "[", - RowBox[{ - RowBox[{"-", "qpn1"}], ",", - RowBox[{"-", "qpn2"}]}], "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, - 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { - 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, - 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { - 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, - 3.7632029908427324`*^9}, {3.7655560484177923`*^9, - 3.7655560675078773`*^9}, {3.7659539527299805`*^9, - 3.7659539580474944`*^9}, {3.765953990560954*^9, 3.7659541210473413`*^9}, { - 3.765954203223567*^9, 3.765954204038726*^9}, {3.7659543947419925`*^9, - 3.7659543959437532`*^9}, {3.765954499150284*^9, 3.765954508435705*^9}, { - 3.7659545709552073`*^9, 3.765954573578501*^9}, 3.7659551706705313`*^9, { - 3.765978868000518*^9, 3.765978893848853*^9}, {3.765978938256042*^9, - 3.765978977975065*^9}, {3.7659791387911654`*^9, 3.76597914548526*^9}, { - 3.7659792427329383`*^9, 3.76597925615609*^9}, {3.774798467247336*^9, - 3.774798502673746*^9}, {3.774798579462903*^9, 3.774798600630599*^9}, - 3.774798638403225*^9, 3.774798673640315*^9, {3.7760705201826525`*^9, - 3.7760705288696933`*^9}}, - ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774798673640315*^9}, - ExpressionUUID -> "c36604a9-382b-4358-abaf-68df6f6c8e9a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,161, - 83,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706469609585`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,84,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706469969215`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 161,85,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470238934`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,86,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470488677`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,161,87,16172176550883650673, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470748405`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,88,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470998144`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,161,89,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706471257877`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 161,90,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706471517615`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,161,91,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.776070647181732*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"] -}, Open ]] -}, -WindowSize->{912, 700}, -WindowMargins->{{452, Automatic}, {122, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 111, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 56, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 852, 12, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3279, 73, 799, 15, 56, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4081, 90, 874, 12, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4958, 104, 279, 6, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5240, 112, 636, 9, 78, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5879, 123, 576, 10, 53, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6458, 135, 1935, 41, 232, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8396, 178, 1212, 17, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9611, 197, 1276, 20, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10890, 219, 1049, 20, 122, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11942, 241, 1257, 24, 100, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13202, 267, 567, 12, 78, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13772, 281, 584, 11, 100, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14359, 294, 807, 14, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15169, 310, 2975, 57, 232, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18147, 369, 1425, 30, 78, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19575, 401, 3349, 64, 210, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22927, 467, 219, 4, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23149, 473, 4623, 68, 138, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27775, 543, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29110, 566, 1474, 23, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30587, 591, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31922, 614, 1474, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[33399, 640, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[34734, 663, 1404, 22, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[36141, 687, 1474, 23, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[37618, 712, 1405, 22, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg deleted file mode 100644 index 5616b90..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml deleted file mode 100644 index 550c31d..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp deleted file mode 100644 index 0f03429..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED -#define ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramMerge0.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 22 Aug 2019 21:43:02 -//! @brief Merge without triggers for activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramMerge0.nb*/ - -using namespace hopsan; - -class ActivityDiagramMerge0 : public ComponentQ -{ -private: - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramMerge0(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - qpn3 = onPositive(spn1 + spn2 - spn3); - qpn1 = -(qpn3*onPositive(-0.5 + spn1)); - qpn2 = -(qpn3*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2)); - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb deleted file mode 100644 index 45adabc..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb +++ /dev/null @@ -1,624 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 32492, 616] -NotebookOptionsPosition[ 29781, 551] -NotebookOutlinePosition[ 30208, 567] -CellTagsIndexPosition[ 30165, 564] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795572931881*^9, - 3.774795612385293*^9, 3.774861408366062*^9, 3.7748619624159155`*^9, - 3.7748622245843167`*^9, 3.7748640394382243`*^9, 3.7753177662699428`*^9, - 3.775491732568901*^9, 3.775491782033749*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955729948483`*^9, - 3.774795612450227*^9, 3.7748614084190083`*^9, 3.7748619624768515`*^9, - 3.7748622246482515`*^9, 3.7748640395161448`*^9, 3.7753177663398657`*^9, - 3.7754917325888805`*^9, 3.7754917820577235`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Merge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, - 3.7549934529137363`*^9}, {3.7552829494329333`*^9, - 3.7552829554537253`*^9}, {3.7653654200584526`*^9, 3.765365420761336*^9}, - 3.7747952519978476`*^9, 3.7747955692027297`*^9}, - ExpressionUUID -> "8e539398-d59d-4346-99c7-62ce8cde8c74"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, 3.774794209791312*^9}, - ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550214271472473`*^9, - 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { - 3.7552829304305267`*^9, 3.7552829350098047`*^9}, {3.765365424137388*^9, - 3.7653654247616515`*^9}, 3.7747952541435413`*^9, 3.7747955692037344`*^9, { - 3.7753177325159492`*^9, 3.7753177417951164`*^9}, {3.77549167539384*^9, - 3.7754917209458838`*^9}, {3.7754917778650465`*^9, 3.775491778104801*^9}}, - ExpressionUUID -> "63192a21-eff5-4a32-ab06-93bd62a509b1"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, - 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, - 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, - 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, - 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, - 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, - 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782103677*^9}, - ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "22", ",", "21", ",", "43", ",", - "2.0866932`8.07203358449933"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, - 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, - 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, - 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, - 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, - 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, - 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782108671*^9}, - ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7748638812026606`*^9, 3.774863885385459*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell["\<\ -inputParameters = { - {event, 0.1, double, \"\", \"event (trigg on positive flank)\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7549933065196686`*^9, 3.7747955692037344`*^9}, - ExpressionUUID -> "6004a690-5f87-4437-a4d9-05a7963088b8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "+", "spn2", "-", "spn3"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}], - RowBox[{"onPositive", "[", - RowBox[{"spn2", "-", "0.5"}], "]"}]}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.76269520463138*^9, 3.7626952378702517`*^9}, {3.7626953144143944`*^9, - 3.762695317976671*^9}, {3.7626961113142395`*^9, 3.762696124434898*^9}, { - 3.76276650333788*^9, 3.762766514206193*^9}, 3.762766805898405*^9, { - 3.7747952829010906`*^9, 3.7747952918124933`*^9}, {3.7747953437341003`*^9, - 3.7747953526869335`*^9}, 3.7747955692047253`*^9}, - ExpressionUUID -> "9bddbe6b-0b0f-498d-854c-260e582893fd"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747955692047253`*^9}, - ExpressionUUID -> "1bf4c767-539e-4196-9557-c11f2e50fda5"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,34,10,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917822165594`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,11,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782257517*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 34,12,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.77549178228449*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,13,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823094635`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,34,14,16171631835219174289, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823354373`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,15,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782363408*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,34,16,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823893814`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 34,17,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782416353*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,34,18,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917824433255`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"] -}, Open ]] -}, -WindowSize->{1234, 716}, -WindowMargins->{{193, Automatic}, {56, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 824, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3251, 73, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3915, 88, 837, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4755, 102, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5037, 110, 590, 9, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5630, 121, 576, 10, 49, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6209, 133, 2024, 43, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8236, 178, 860, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9099, 192, 924, 15, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10026, 209, 1101, 21, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11130, 232, 672, 12, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11805, 246, 1985, 38, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13793, 286, 221, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14017, 292, 7128, 103, 113, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[21148, 397, 1002, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22153, 415, 1143, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23299, 435, 1004, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24306, 453, 1146, 19, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25455, 474, 1002, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26460, 492, 1076, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27539, 511, 1144, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28686, 531, 1079, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg deleted file mode 100644 index 53e9506..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml deleted file mode 100644 index 8946aa0..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp deleted file mode 100644 index 4b5ba16..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramMergeN.hpp -//! @author Petter Krus -//! @date 2018-12-31 -//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson -//! @brief Contains a multi in join Component -//! - -#ifndef ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED -#define ACTIVITYDIAGRAMMERGEN_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A StateMchine AND multi port component - //! @ingroup StateMachine - //! - class ActivityDiagramMergeN : public ComponentQ - { - - private: - std::vector mvpN_q, mvpN_s; - size_t mNumPorts; - Port *mpPpn1; - Port *mpPpn2; - - //Port Ppn2 variable - double q2; - double s2; - - //Port Ppn2 pointer - double *mpP_q2; - double *mpP_s2; - - public: - static Component *Creator() - { - return new ActivityDiagramMergeN(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - } - - - void initialize() - { - //Port Ppn1 - mNumPorts = mpPpn1->getNumPorts(); - mvpN_q.resize(mNumPorts); - mvpN_s.resize(mNumPorts); - - for (size_t i=0; i - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml deleted file mode 100644 index f31aa8f..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg deleted file mode 100644 index 7fd70f1..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg deleted file mode 100644 index 539ad0c..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/Exempel/ADcylinder.hmf b/ActivityDiagramLib/ActivityDiagramLib/Exempel/ADcylinder.hmf deleted file mode 100644 index 88d6b84..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/Exempel/ADcylinder.hmf +++ /dev/null @@ -1,5292 +0,0 @@ - - - - - ActivityDiagramLibrary - ActivityDiagramLibrary - - - 59c07d33-554f-49d3-a163-a928823d4380 - HopsanDefaultComponentLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf b/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf deleted file mode 100644 index 53769b4..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf +++ /dev/null @@ -1,8397 +0,0 @@ - - - - - 59c07d33-554f-49d3-a163-a928823d4380 - HopsanDefaultComponentLibrary - - - ActivityDiagramLibrary - ActivityDiagramLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - From a93e3242f0d085f79edc2c9ea151a2efe5045121 Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Thu, 11 Nov 2021 11:29:03 +0100 Subject: [PATCH 8/8] ActivityDiagramLib folder reaorganissed --- .../ActivityDiagram/ActivityDiagramAction.hpp | 314 +- .../ActivityDiagram/ActivityDiagramAction.nb | 1700 +- .../ActivityDiagram/ActivityDiagramAction.svg | 0 .../ActivityDiagram/ActivityDiagramAction.xml | 50 +- .../ActivityDiagram/ActivityDiagramAction1.nb | 1556 +- .../ActivityDiagramAction1.svg | 0 .../ActivityDiagramActionN.hpp | 304 +- .../ActivityDiagramActionN.svg | 0 .../ActivityDiagramActionN.xml | 48 +- .../ActivityDiagramActionN_active.svg | 0 .../ActivityDiagramAction_action.svg | 0 .../ActivityDiagramAction_active.svg | 0 .../ActivityDiagramConnector.hpp | 310 +- .../ActivityDiagramConnector.nb | 1102 +- .../ActivityDiagramConnector.svg | 0 .../ActivityDiagramConnector.xml | 0 .../ActivityDiagramDecision.hpp | 488 +- .../ActivityDiagramDecision.nb | 1492 +- .../ActivityDiagramDecision.svg | 0 .../ActivityDiagramDecision.xml | 32 +- .../ActivityDiagramDecision0.hpp | 484 +- .../ActivityDiagram/ActivityDiagramEdge.hpp | 396 +- .../ActivityDiagram/ActivityDiagramEdge.nb | 1476 +- .../ActivityDiagram/ActivityDiagramEdge.svg | 0 .../ActivityDiagram/ActivityDiagramEdge.xml | 28 +- .../ActivityDiagram/ActivityDiagramEdge01.hpp | 328 +- .../ActivityDiagram/ActivityDiagramEdge1.hpp | 396 +- .../ActivityDiagram/ActivityDiagramFinal.hpp | 290 +- .../ActivityDiagram/ActivityDiagramFinal.nb | 1440 +- .../ActivityDiagram/ActivityDiagramFinal.svg | 0 .../ActivityDiagram/ActivityDiagramFinal.xml | 0 .../ActivityDiagram/ActivityDiagramFinal0.hpp | 0 .../ActivityDiagramFinalNode.hpp | 0 .../ActivityDiagramFinalNode.svg | 0 .../ActivityDiagramFinalNode.xml | 0 .../ActivityDiagram/ActivityDiagramFork.hpp | 456 +- .../ActivityDiagram/ActivityDiagramFork.nb | 1198 +- .../ActivityDiagram/ActivityDiagramFork.svg | 0 .../ActivityDiagram/ActivityDiagramFork.xml | 30 +- .../ActivityDiagram/ActivityDiagramFork0.hpp | 456 +- .../ActivityDiagram/ActivityDiagramForkN.hpp | 0 .../ActivityDiagram/ActivityDiagramForkN.xml | 0 .../ActivityDiagramInitiateState.hpp | 288 +- .../ActivityDiagramInitiateState.nb | 1136 +- .../ActivityDiagramInitiateState.svg | 0 .../ActivityDiagramInitiateState.xml | 26 +- .../ActivityDiagram/ActivityDiagramJoin.hpp | 362 +- .../ActivityDiagram/ActivityDiagramJoin.nb | 1322 +- .../ActivityDiagram/ActivityDiagramJoin.svg | 0 .../ActivityDiagram/ActivityDiagramJoin.xml | 30 +- .../ActivityDiagram/ActivityDiagramJoin0.hpp | 330 +- .../ActivityDiagram/ActivityDiagramJoin0.nb | 1452 +- .../ActivityDiagram/ActivityDiagramJoin0.svg | 0 .../ActivityDiagram/ActivityDiagramJoin0.xml | 28 +- .../ActivityDiagram/ActivityDiagramJoin1.svg | 0 .../ActivityDiagram/ActivityDiagramJoinN.hpp | 0 .../ActivityDiagram/ActivityDiagramJoinN.xml | 0 .../ActivityDiagram/ActivityDiagramLib.cc | 102 +- .../ActivityDiagram/ActivityDiagramLib.dll | Bin 289740 -> 289740 bytes .../ActivityDiagram/ActivityDiagramLib.pro | 100 +- .../ActivityDiagram/ActivityDiagramLib.xml | 84 +- .../ActivityDiagramLibrary.dll | Bin 289740 -> 289740 bytes .../ActivityDiagram/ActivityDiagramMerge.hpp | 390 +- .../ActivityDiagram/ActivityDiagramMerge.nb | 1642 +- .../ActivityDiagram/ActivityDiagramMerge.svg | 0 .../ActivityDiagram/ActivityDiagramMerge.xml | 32 +- .../ActivityDiagram/ActivityDiagramMerge0.hpp | 330 +- .../ActivityDiagram/ActivityDiagramMerge0.nb | 1248 +- .../ActivityDiagram/ActivityDiagramMerge0.svg | 0 .../ActivityDiagram/ActivityDiagramMerge0.xml | 28 +- .../ActivityDiagram/ActivityDiagramMergeN.hpp | 0 .../ActivityDiagram/ActivityDiagramMergeN.svg | 0 .../ActivityDiagram/ActivityDiagramMergeN.xml | 26 +- .../ActivityDiagram/AvtivityDiagramAction.svg | 0 .../AvtivityDiagramActionN.svg | 0 .../ActivityDiagram/compile.bat | 7 + .../Exempel/ADcylinder.hmf | 10584 +++++----- .../Exempel/ActivityDiagramTest.hmf | 16794 ++++++++-------- ... Villani's conflicted copy 2019-10-16).dll | Bin 275329 -> 0 bytes ActivityDiagrams/ActivityDiagram/compile.bat | 7 - 80 files changed, 25361 insertions(+), 25361 deletions(-) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction1.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction1.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramActionN.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramActionN.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramActionN.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramActionN_active.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction_action.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramAction_active.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramConnector.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramConnector.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramConnector.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramConnector.xml (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramDecision.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramDecision.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramDecision.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramDecision.xml (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramDecision0.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge01.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramEdge1.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinal.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinal.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinal.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinal.xml (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinal0.hpp (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinalNode.hpp (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinalNode.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFinalNode.xml (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFork.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFork.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFork.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFork.xml (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramFork0.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramForkN.hpp (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramForkN.xml (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramInitiateState.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramInitiateState.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramInitiateState.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramInitiateState.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin.xml (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin0.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin0.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin0.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin0.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoin1.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoinN.hpp (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramJoinN.xml (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramLib.cc (98%) rename ActivityDiagramLib/{ActivityDiagramLib => }/ActivityDiagram/ActivityDiagramLib.dll (99%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramLib.pro (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramLib.xml (92%) rename ActivityDiagramLib/{ActivityDiagramLib => ActivityDiagram}/ActivityDiagramLibrary.dll (99%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge.xml (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge0.hpp (96%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge0.nb (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge0.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMerge0.xml (98%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMergeN.hpp (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMergeN.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/ActivityDiagramMergeN.xml (97%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/AvtivityDiagramAction.svg (100%) rename {ActivityDiagrams => ActivityDiagramLib}/ActivityDiagram/AvtivityDiagramActionN.svg (100%) create mode 100644 ActivityDiagramLib/ActivityDiagram/compile.bat rename {ActivityDiagrams => ActivityDiagramLib}/Exempel/ADcylinder.hmf (98%) rename {ActivityDiagrams => ActivityDiagramLib}/Exempel/ActivityDiagramTest.hmf (98%) delete mode 100644 ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll delete mode 100644 ActivityDiagrams/ActivityDiagram/compile.bat diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp index 91da5a7..da21db4 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp @@ -1,157 +1,157 @@ -#ifndef ACTIVITYDIAGRAMACTION_HPP_INCLUDED -#define ACTIVITYDIAGRAMACTION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramAction.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 17 Oct 2019 16:57:08 -//! @brief State -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramAction.nb*/ - -using namespace hopsan; - -class ActivityDiagramAction : public ComponentC -{ -private: - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double state; - //InitialExpressions variables - double stated; - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - double *mpstate; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramAction(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - addOutputVariable("state","State","",0.,&mpstate); - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - state = (*mpstate); - -//==This code has been autogenerated using Compgen== - //InitialExpressions - stated = state; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - qpn1 = (*mpP_qpn1); - //Port Ppn2 - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - state = onPositive(-0.5 + qpn1 + qpn2 + stated); - spn1 = state; - spn2 = state; - stated = state; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_spn1)=spn1; - //Port Ppn2 - (*mpP_spn2)=spn2; - //outputVariables - (*mpstate)=state; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMACTION_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMACTION_HPP_INCLUDED +#define ACTIVITYDIAGRAMACTION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramAction.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 17 Oct 2019 16:57:08 +//! @brief State +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramAction.nb*/ + +using namespace hopsan; + +class ActivityDiagramAction : public ComponentC +{ +private: + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + double state; + //InitialExpressions variables + double stated; + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + double *mpstate; + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramAction(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + addOutputVariable("state","State","",0.,&mpstate); + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + state = (*mpstate); + +//==This code has been autogenerated using Compgen== + //InitialExpressions + stated = state; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + qpn1 = (*mpP_qpn1); + //Port Ppn2 + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + state = onPositive(-0.5 + qpn1 + qpn2 + stated); + spn1 = state; + spn2 = state; + stated = state; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_spn1)=spn1; + //Port Ppn2 + (*mpP_spn2)=spn2; + //outputVariables + (*mpstate)=state; + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMACTION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb index bc838d0..3884657 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb @@ -1,850 +1,850 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 45119, 842] -NotebookOptionsPosition[ 40523, 772] -NotebookOutlinePosition[ 40943, 788] -CellTagsIndexPosition[ 40900, 785] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[239]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - CellLabel-> - "In[241]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, - 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, - 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, - 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, - 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, - 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, - 3.7803129134806423`*^9, 3.780312972657365*^9}, - CellLabel-> - "Out[241]=",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99"] -}, Open ]], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ -"a5795f19-20e6-4fe4-996e-0c4224394789"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[242]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["Action", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, - 3.7748618470267663`*^9},ExpressionUUID->"3d597773-8bb1-48e6-9d32-\ -6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, - 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { - 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, - CellLabel-> - "In[243]:=",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, - 3.7803129728554816`*^9}, - CellLabel-> - "Out[248]=",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "17", ",", "16", ",", "56", ",", - "12.7882775`8.859387008130836"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, - 3.780312972864458*^9}, - CellLabel-> - "Out[252]=",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}, - CellLabel-> - "In[253]:=",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - CellLabel-> - "In[254]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, - 3.7749719205128927`*^9, 3.7803127433380165`*^9}, - CellLabel-> - "In[255]:=",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, - 3.7803127608689785`*^9}, - CellLabel-> - "In[256]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, - 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { - 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, - 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { - 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, - 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { - 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, - 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { - 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, - 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { - 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, - 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { - 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, - 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { - 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, - 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { - 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { - 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, - 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, - 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { - 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { - 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, - 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, - 3.774864663355605*^9}}, - CellLabel-> - "In[257]:=",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR", "[", - RowBox[{"x_", ",", "y_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9, {3.780198065667446*^9, 3.780198068473471*^9}}, - CellLabel-> - "In[258]:=",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR3", "[", - RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "+", "z", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9, {3.780198065667446*^9, 3.7801980939313602`*^9}}, - CellLabel-> - "In[259]:=",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"stated", "\[Equal]", "state"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, - 3.7750255772118697`*^9}, {3.7801982939260798`*^9, 3.7801982945854645`*^9}, - 3.7803127336358166`*^9, 3.780312966819764*^9}, - CellLabel-> - "In[260]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, {3.7748636325484133`*^9, - 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, - 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, - 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { - 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, - 3.7750256313100643`*^9}, {3.7803127945495996`*^9, 3.7803128141224346`*^9}}, - CellLabel-> - "In[261]:=",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}, - CellLabel-> - "In[262]:=",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, - CellLabel-> - "In[263]:=",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,79,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974087306*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,80,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974121656*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,81,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974138799*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ -\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,263,82,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129742971926`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], - -Cell[BoxData[ - TemplateBox[{ - "General","openx", - "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\ -\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\ -\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\ -\\\"}]\\) is not open.\"",2,263,83,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974315183*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Ac\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"on\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,263, - 84,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974332173*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,85,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129743521605`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,263,86, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129743691516`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,87,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974384142*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,263,88, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974488336*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,89,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129745043287`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,263,90,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129745183344`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] -}, -WindowSize->{948, 482}, -WindowMargins->{{Automatic, 13}, {Automatic, 22}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 685, 14, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1923, 54, 1156, 17, 32, "Output",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[3094, 74, 414, 9, 48, "Input",ExpressionUUID->"a5795f19-20e6-4fe4-996e-0c4224394789"], -Cell[CellGroupData[{ -Cell[3533, 87, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3839, 96, 302, 5, 67, "Section",ExpressionUUID->"3d597773-8bb1-48e6-9d32-6c53852bc4f2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4144, 103, 1693, 37, 200, "Input",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5840, 142, 837, 13, 32, "Output",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6680, 157, 902, 16, 32, "Output",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7585, 175, 273, 6, 28, "Input",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7861, 183, 1001, 19, 86, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8865, 204, 332, 7, 28, "Input",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9200, 213, 683, 12, 28, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9886, 227, 2077, 35, 67, "Input",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11966, 264, 458, 10, 28, "Input",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12427, 276, 482, 10, 28, "Input",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12912, 288, 557, 12, 67, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13472, 302, 2562, 41, 124, "Input",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16037, 345, 271, 6, 28, "Input",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16311, 353, 267, 5, 28, "Input",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[16593, 361, 1804, 30, 21, "Message",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], -Cell[18400, 393, 1804, 30, 21, "Message",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], -Cell[20207, 425, 1804, 30, 21, "Message",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], -Cell[22014, 457, 1709, 28, 21, "Message",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], -Cell[23726, 487, 1803, 29, 21, "Message",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], -Cell[25532, 518, 4723, 71, 76, "Message",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], -Cell[30258, 591, 1639, 27, 21, "Message",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], -Cell[31900, 620, 1811, 30, 21, "Message",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], -Cell[33714, 652, 1637, 27, 21, "Message",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], -Cell[35354, 681, 1809, 30, 21, "Message",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], -Cell[37166, 713, 1639, 27, 21, "Message",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], -Cell[38808, 742, 1711, 28, 21, "Message",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 45119, 842] +NotebookOptionsPosition[ 40523, 772] +NotebookOutlinePosition[ 40943, 788] +CellTagsIndexPosition[ 40900, 785] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[239]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + CellLabel-> + "In[241]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, + 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, + 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, + 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, + 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, + 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, + 3.7803129134806423`*^9, 3.780312972657365*^9}, + CellLabel-> + "Out[241]=",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ +"a5795f19-20e6-4fe4-996e-0c4224394789"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[242]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["Action", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, + 3.7748618470267663`*^9},ExpressionUUID->"3d597773-8bb1-48e6-9d32-\ +6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, + 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { + 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, + CellLabel-> + "In[243]:=",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, + 3.7803129728554816`*^9}, + CellLabel-> + "Out[248]=",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "17", ",", "16", ",", "56", ",", + "12.7882775`8.859387008130836"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, + 3.780312972864458*^9}, + CellLabel-> + "Out[252]=",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}, + CellLabel-> + "In[253]:=",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + CellLabel-> + "In[254]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, + 3.7749719205128927`*^9, 3.7803127433380165`*^9}, + CellLabel-> + "In[255]:=",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, + 3.7803127608689785`*^9}, + CellLabel-> + "In[256]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, + 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { + 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, + 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { + 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, + 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { + 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, + 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { + 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, + 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { + 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, + 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { + 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, + 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { + 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, + 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { + 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { + 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, + 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, + 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { + 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { + 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, + 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, + 3.774864663355605*^9}}, + CellLabel-> + "In[257]:=",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR", "[", + RowBox[{"x_", ",", "y_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9, {3.780198065667446*^9, 3.780198068473471*^9}}, + CellLabel-> + "In[258]:=",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR3", "[", + RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "+", "z", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9, {3.780198065667446*^9, 3.7801980939313602`*^9}}, + CellLabel-> + "In[259]:=",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"stated", "\[Equal]", "state"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, + 3.7750255772118697`*^9}, {3.7801982939260798`*^9, 3.7801982945854645`*^9}, + 3.7803127336358166`*^9, 3.780312966819764*^9}, + CellLabel-> + "In[260]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, {3.7748636325484133`*^9, + 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, + 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, + 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { + 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, + 3.7750256313100643`*^9}, {3.7803127945495996`*^9, 3.7803128141224346`*^9}}, + CellLabel-> + "In[261]:=",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}, + CellLabel-> + "In[262]:=",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, + CellLabel-> + "In[263]:=",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,79,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974087306*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,80,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974121656*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], + +Cell[BoxData[ + TemplateBox[{ + "Write","noopen", + "\"Cannot open \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ +Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ +\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ +\\).\"",2,263,81,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974138799*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ +\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,263,82,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129742971926`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], + +Cell[BoxData[ + TemplateBox[{ + "General","openx", + "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\ +\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\ +\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\ +\\\"}]\\) is not open.\"",2,263,83,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974315183*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Ac\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"on\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,263, + 84,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974332173*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,85,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129743521605`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,263,86, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129743691516`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,87,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974384142*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,263,88, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.780312974488336*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,263,89,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129745043287`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,263,90,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, + 3.7803129745183344`*^9}, + CellLabel-> + "During evaluation of \ +In[263]:=",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] +}, +WindowSize->{948, 482}, +WindowMargins->{{Automatic, 13}, {Automatic, 22}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 685, 14, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1923, 54, 1156, 17, 32, "Output",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[3094, 74, 414, 9, 48, "Input",ExpressionUUID->"a5795f19-20e6-4fe4-996e-0c4224394789"], +Cell[CellGroupData[{ +Cell[3533, 87, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3839, 96, 302, 5, 67, "Section",ExpressionUUID->"3d597773-8bb1-48e6-9d32-6c53852bc4f2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4144, 103, 1693, 37, 200, "Input",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5840, 142, 837, 13, 32, "Output",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6680, 157, 902, 16, 32, "Output",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7585, 175, 273, 6, 28, "Input",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7861, 183, 1001, 19, 86, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8865, 204, 332, 7, 28, "Input",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9200, 213, 683, 12, 28, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9886, 227, 2077, 35, 67, "Input",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11966, 264, 458, 10, 28, "Input",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12427, 276, 482, 10, 28, "Input",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12912, 288, 557, 12, 67, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13472, 302, 2562, 41, 124, "Input",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16037, 345, 271, 6, 28, "Input",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16311, 353, 267, 5, 28, "Input",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[16593, 361, 1804, 30, 21, "Message",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], +Cell[18400, 393, 1804, 30, 21, "Message",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], +Cell[20207, 425, 1804, 30, 21, "Message",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], +Cell[22014, 457, 1709, 28, 21, "Message",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], +Cell[23726, 487, 1803, 29, 21, "Message",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], +Cell[25532, 518, 4723, 71, 76, "Message",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], +Cell[30258, 591, 1639, 27, 21, "Message",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], +Cell[31900, 620, 1811, 30, 21, "Message",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], +Cell[33714, 652, 1637, 27, 21, "Message",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], +Cell[35354, 681, 1809, 30, 21, "Message",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], +Cell[37166, 713, 1639, 27, 21, "Message",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], +Cell[38808, 742, 1711, 28, 21, "Message",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml index de0744a..ee00b72 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb index fb59082..52f6b3d 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb @@ -1,778 +1,778 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 41013, 770] -NotebookOptionsPosition[ 38229, 702] -NotebookOutlinePosition[ 38656, 718] -CellTagsIndexPosition[ 38613, 715] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.7748612729007797`*^9, 3.7748618497859235`*^9, {3.7748626953077*^9, - 3.7748627161878867`*^9}, {3.7748627484267826`*^9, 3.774862765485217*^9}, - 3.774862936369943*^9, 3.774863011141906*^9, 3.774863651011017*^9, - 3.774863747863023*^9, 3.7748646800177937`*^9, 3.7748701468329983`*^9, - 3.7748702849075556`*^9, 3.7748706042064624`*^9, 3.7748707175002804`*^9, - 3.7748708482413254`*^9, 3.7748709807026653`*^9, 3.77498657158222*^9, - 3.775025888224593*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, - 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, - 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, - 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, - 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, - 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, - 3.775025888350546*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["Action", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, - 3.7748618470267663`*^9}, - ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, - 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { - 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, - ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888593295*^9}], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "17", ",", "12", ",", "18", ",", - "8.4963944`8.681809631360546"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888597291*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, - 3.7749719205128927`*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "holdEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.775025781047347*^9, 3.7750257815123925`*^9}, {3.775025834250453*^9, - 3.775025850421156*^9}}, - ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, - 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { - 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, - 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { - 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, - 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { - 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, - 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { - 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, - 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { - 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, - 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { - 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, - 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { - 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, - 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { - 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { - 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, - 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, - 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { - 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { - 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, - 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, - 3.774864663355605*^9}}, - ExpressionUUID -> "b61794f5-4c1b-4806-b168-4e11a52f0c57"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR", "[", - RowBox[{"x_", ",", "y_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9}], - -Cell["\<\ -expressions = { - cpn2r == OnPositive[spn1 + limits[qpn1, -1, 1] - 0.5], - cpn1r == OnPositive[spn1 + limits[qpn2, -1, 1] - 0.5], - spn1 == cpn1r, - spn2 == cpn2r, - state == OR[spn1, spn2] - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, 3.7748700995859013`*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent", "\[Equal]", "event"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, - 3.7750255772118697`*^9}}, - ExpressionUUID -> "6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"iEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "+", - RowBox[{"holdEvent", "*", "oldiEvent", "*", "state"}], "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", - RowBox[{"state", " ", "iEvent"}]}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"oldiEvent", "\[Equal]", "iEvent"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, {3.7748636325484133`*^9, - 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, - 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, - 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { - 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, - 3.7750256313100643`*^9}, {3.775025772158289*^9, 3.7750257746841974`*^9}, - 3.775025819211686*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, - ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Activi\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"mAction\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ -\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ -\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,1156, - 361,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258898919215`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,362,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899628477`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,1156,363, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899898195`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,364,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900197887`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,1156,365, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900467606`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,366,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890073733*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,1156,367,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900997066`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,1156,368,16167503661247200239, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890127678*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,1156,369,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258901536503`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"] -}, -WindowSize->{1091, 684}, -WindowMargins->{{197, Automatic}, {23, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 1097, 16, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3524, 77, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4188, 92, 1108, 16, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5299, 110, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5581, 118, 304, 5, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5888, 125, 1669, 36, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7560, 163, 726, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8289, 175, 791, 13, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9083, 190, 190, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9276, 196, 977, 18, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10256, 216, 444, 11, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10703, 229, 970, 18, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11676, 249, 2053, 34, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13732, 285, 329, 8, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14064, 295, 1862, 31, 144, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15929, 328, 517, 12, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16449, 342, 2892, 48, 164, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19344, 392, 188, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19535, 398, 243, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[19793, 405, 5235, 76, 76, "Message"], -Cell[25031, 483, 1568, 24, 21, "Message"], -Cell[26602, 509, 1740, 27, 21, "Message"], -Cell[28345, 538, 1568, 24, 21, "Message"], -Cell[29916, 564, 1740, 27, 21, "Message"], -Cell[31659, 593, 1566, 24, 21, "Message"], -Cell[33228, 619, 1640, 25, 21, "Message"], -Cell[34871, 646, 1708, 27, 21, "Message"], -Cell[36582, 675, 1643, 25, 21, "Message"] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 41013, 770] +NotebookOptionsPosition[ 38229, 702] +NotebookOutlinePosition[ 38656, 718] +CellTagsIndexPosition[ 38613, 715] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.7748612729007797`*^9, 3.7748618497859235`*^9, {3.7748626953077*^9, + 3.7748627161878867`*^9}, {3.7748627484267826`*^9, 3.774862765485217*^9}, + 3.774862936369943*^9, 3.774863011141906*^9, 3.774863651011017*^9, + 3.774863747863023*^9, 3.7748646800177937`*^9, 3.7748701468329983`*^9, + 3.7748702849075556`*^9, 3.7748706042064624`*^9, 3.7748707175002804`*^9, + 3.7748708482413254`*^9, 3.7748709807026653`*^9, 3.77498657158222*^9, + 3.775025888224593*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, + 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, + 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, + 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, + 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, + 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, + 3.775025888350546*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["Action", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, + 3.7748618470267663`*^9}, + ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, + 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { + 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, + ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888593295*^9}], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "17", ",", "12", ",", "18", ",", + "8.4963944`8.681809631360546"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, + 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { + 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, + 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, + 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, + 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, + 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888597291*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, + 3.7749719205128927`*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "holdEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.775025781047347*^9, 3.7750257815123925`*^9}, {3.775025834250453*^9, + 3.775025850421156*^9}}, + ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"outputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, + 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { + 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, + 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { + 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, + 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { + 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, + 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { + 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, + 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { + 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, + 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { + 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, + 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { + 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, + 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { + 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { + 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, + 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, + 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { + 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { + 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, + 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, + 3.774864663355605*^9}}, + ExpressionUUID -> "b61794f5-4c1b-4806-b168-4e11a52f0c57"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"OR", "[", + RowBox[{"x_", ",", "y_"}], "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, + 3.7748618470277653`*^9}], + +Cell["\<\ +expressions = { + cpn2r == OnPositive[spn1 + limits[qpn1, -1, 1] - 0.5], + cpn1r == OnPositive[spn1 + limits[qpn2, -1, 1] - 0.5], + spn1 == cpn1r, + spn2 == cpn2r, + state == OR[spn1, spn2] + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, 3.7748700995859013`*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent", "\[Equal]", "event"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, + 3.7750255772118697`*^9}}, + ExpressionUUID -> "6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"iEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "+", + RowBox[{"holdEvent", "*", "oldiEvent", "*", "state"}], "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", + RowBox[{"state", " ", "iEvent"}]}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"oldiEvent", "\[Equal]", "iEvent"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, + 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { + 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, + 3.7748630040421524`*^9}, {3.7748636325484133`*^9, + 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, + 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, + 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { + 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, + 3.7750256313100643`*^9}, {3.775025772158289*^9, 3.7750257746841974`*^9}, + 3.775025819211686*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, + ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Activi\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"mAction\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ +\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ +\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ +\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,1156, + 361,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258898919215`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,362,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899628477`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,1156,363, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899898195`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,364,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900197887`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,1156,365, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900467606`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,1156,366,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890073733*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,1156,367,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900997066`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,1156,368,16167503661247200239, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890127678*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,1156,369,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, + 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { + 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, + 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, + 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, + 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, + 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258901536503`*^9}, + ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"] +}, +WindowSize->{1091, 684}, +WindowMargins->{{197, Automatic}, {23, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 1097, 16, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3524, 77, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4188, 92, 1108, 16, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5299, 110, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5581, 118, 304, 5, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5888, 125, 1669, 36, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7560, 163, 726, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8289, 175, 791, 13, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9083, 190, 190, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9276, 196, 977, 18, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10256, 216, 444, 11, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10703, 229, 970, 18, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11676, 249, 2053, 34, 69, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13732, 285, 329, 8, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14064, 295, 1862, 31, 144, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15929, 328, 517, 12, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16449, 342, 2892, 48, 164, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19344, 392, 188, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19535, 398, 243, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[19793, 405, 5235, 76, 76, "Message"], +Cell[25031, 483, 1568, 24, 21, "Message"], +Cell[26602, 509, 1740, 27, 21, "Message"], +Cell[28345, 538, 1568, 24, 21, "Message"], +Cell[29916, 564, 1740, 27, 21, "Message"], +Cell[31659, 593, 1566, 24, 21, "Message"], +Cell[33228, 619, 1640, 25, 21, "Message"], +Cell[34871, 646, 1708, 27, 21, "Message"], +Cell[36582, 675, 1643, 25, 21, "Message"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction1.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp index 9e2605e..76c3ad9 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp @@ -1,152 +1,152 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramActionN.hpp -//! @author Petter Krus, Robert Braun, Emilia Villani -//! @date 2019-08-15 -//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson -//! @brief Contains a Electric Volume Component -//! - -#ifndef ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED -#define ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A StateMachine state component - //! @ingroup StateMachine - //! - class ActivityDiagramActionN : public ComponentC - { - - private: - double state; - double *mpAlpha; - double *mpstate; -// double capacitance; - - std::vector mvpN_s, mvpN_q; - std::vector mvp_S0; - size_t mNumPorts; - Port *mpPpn1; - - std::mutex mTokenMutex; - bool mTokenLocked; - - public: - static Component *Creator() - { - return new ActivityDiagramActionN(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); -// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); - addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); - addOutputVariable("state","State activated","",0.,&mpstate); - } - - - void initialize() - { - double alpha; - double state; - alpha = (*mpAlpha); - - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvpN_q.resize(mNumPorts); - mvp_S0.resize(mNumPorts); - - for (size_t i=0; i. + + For license details and information about the Hopsan Group see the files + GPLv3 and HOPSANGROUP in the Hopsan source code root directory + + For author and contributor information see the AUTHORS file +-----------------------------------------------------------------------------*/ + +//! +//! @file ActivityDiagramActionN.hpp +//! @author Petter Krus, Robert Braun, Emilia Villani +//! @date 2019-08-15 +//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson +//! @brief Contains a Electric Volume Component +//! + +#ifndef ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED +#define ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED + +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include +#include +#include +#include + +namespace hopsan { + + //! + //! @brief A StateMachine state component + //! @ingroup StateMachine + //! + class ActivityDiagramActionN : public ComponentC + { + + private: + double state; + double *mpAlpha; + double *mpstate; +// double capacitance; + + std::vector mvpN_s, mvpN_q; + std::vector mvp_S0; + size_t mNumPorts; + Port *mpPpn1; + + std::mutex mTokenMutex; + bool mTokenLocked; + + public: + static Component *Creator() + { + return new ActivityDiagramActionN(); + } + + void configure() + { + mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); +// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); + addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); + addOutputVariable("state","State activated","",0.,&mpstate); + } + + + void initialize() + { + double alpha; + double state; + alpha = (*mpAlpha); + + mNumPorts = mpPpn1->getNumPorts(); + mvpN_s.resize(mNumPorts); + mvpN_q.resize(mNumPorts); + mvp_S0.resize(mNumPorts); + + for (size_t i=0; i - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramActionN_active.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_action.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramAction_active.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp index ea3cec5..71d7446 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp @@ -1,155 +1,155 @@ -#ifndef ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED -#define ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramConnector.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 15 Aug 2019 15:00:38 -//! @brief Connector between Q-components -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramConnector.nb*/ - -using namespace hopsan; - -class ActivityDiagramConnector : public ComponentC -{ -private: - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //InitialExpressions variables - double stated; - //Expressions variables - double state; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramConnector(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - spn1 = state; - spn2 = state; - stated = state; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - qpn1 = (*mpP_qpn1); - //Port Ppn2 - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - state = onPositive(-0.5 + qpn1 + qpn2 + stated); - spn1 = state; - spn2 = state; - stated = state; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_spn1)=spn1; - //Port Ppn2 - (*mpP_spn2)=spn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED +#define ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramConnector.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 15 Aug 2019 15:00:38 +//! @brief Connector between Q-components +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramConnector.nb*/ + +using namespace hopsan; + +class ActivityDiagramConnector : public ComponentC +{ +private: + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //InitialExpressions variables + double stated; + //Expressions variables + double state; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramConnector(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + spn1 = state; + spn2 = state; + stated = state; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + qpn1 = (*mpP_qpn1); + //Port Ppn2 + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + state = onPositive(-0.5 + qpn1 + qpn2 + stated); + spn1 = state; + spn2 = state; + stated = state; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_spn1)=spn1; + //Port Ppn2 + (*mpP_spn2)=spn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb index 65ba520..2b68516 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb @@ -1,551 +1,551 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 28673, 543] -NotebookOptionsPosition[ 26548, 489] -NotebookOutlinePosition[ 26976, 505] -CellTagsIndexPosition[ 26933, 502] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.774861290427595*^9, 3.7748618675437913`*^9, 3.7748628376552143`*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.77486129045057*^9, 3.7748618675707636`*^9, 3.774862837718149*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Connector", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.7651000854987707`*^9, 3.765100087443925*^9}, {3.7653865322639866`*^9, - 3.7653865340311356`*^9}, {3.7748562895395265`*^9, 3.77485628999905*^9}, - 3.7748618642499804`*^9}, - ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.7651000790778112`*^9, - 3.765100080702778*^9}, {3.7653865380490265`*^9, 3.7653865624643803`*^9}, - 3.774856291577958*^9, 3.7748618642509794`*^9, {3.7753176502934604`*^9, - 3.775317651851361*^9}}, - ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "15", ",", "15", ",", "0", ",", - "37.7880757`9.329929664938739"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7651000962570324`*^9, 3.765386594754282*^9, - 3.76538691023928*^9, {3.7653869665779047`*^9, 3.765387006151044*^9}, - 3.774861290488532*^9, {3.7748618642509794`*^9, 3.7748618676217117`*^9}, - 3.7748628378510113`*^9}, - ExpressionUUID -> "9d107ea6-e9fe-41c6-a8e7-5bcedeab53a6"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862824750338*^9, 3.774862835795474*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"spn1", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "\[Equal]", "state"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763289864104106*^9, 3.763289897920729*^9}, { - 3.7635474793820314`*^9, 3.763547509099383*^9}, {3.765176052051984*^9, - 3.7651760911784735`*^9}, {3.765386969540123*^9, 3.7653869746931953`*^9}, { - 3.774856340135704*^9, 3.774856341714076*^9}, 3.7748618642509794`*^9}, - ExpressionUUID -> "3d8202ca-d0f5-49af-a79f-b899cac3e64e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, 3.7651039003541737`*^9, { - 3.7651759614596443`*^9, 3.7651760366289396`*^9}, {3.765176095975005*^9, - 3.7651760975217886`*^9}, 3.7653868967327237`*^9, {3.774856340612213*^9, - 3.774856358031646*^9}, 3.7748618642509794`*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{"stated", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7653869016535296`*^9, 3.7653869038928185`*^9}, - 3.77486186425198*^9, 3.7748628357964735`*^9}], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618642529783`*^9, 3.7748628357964735`*^9}, - ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ -\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ -\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,602,168,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628382695794`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,169,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838305542*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,602,170, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383325143`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,171,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383594866`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,602,172, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838387458*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,173,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838415429*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,602,174,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838442401*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"] -}, -WindowSize->{1050, 735}, -WindowMargins->{{Automatic, 322}, {Automatic, 118}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 702, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3129, 71, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3793, 86, 706, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4502, 98, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4784, 106, 404, 6, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5191, 114, 1753, 38, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6947, 154, 583, 11, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7533, 167, 188, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7724, 173, 977, 18, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8704, 193, 768, 14, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9475, 209, 2152, 35, 126, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11630, 246, 224, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11857, 252, 245, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[12117, 259, 6339, 89, 130, "Message"], -Cell[18459, 350, 1275, 20, 21, "Message"], -Cell[19737, 372, 1449, 23, 21, "Message"], -Cell[21189, 397, 1277, 20, 21, "Message"], -Cell[22469, 419, 1447, 23, 21, "Message"], -Cell[23919, 444, 1275, 20, 21, "Message"], -Cell[25197, 466, 1347, 21, 21, "Message"] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 28673, 543] +NotebookOptionsPosition[ 26548, 489] +NotebookOutlinePosition[ 26976, 505] +CellTagsIndexPosition[ 26933, 502] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.774861290427595*^9, 3.7748618675437913`*^9, 3.7748628376552143`*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.77486129045057*^9, 3.7748618675707636`*^9, 3.774862837718149*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Connector", "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { + 3.7651000854987707`*^9, 3.765100087443925*^9}, {3.7653865322639866`*^9, + 3.7653865340311356`*^9}, {3.7748562895395265`*^9, 3.77485628999905*^9}, + 3.7748618642499804`*^9}, + ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { + 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, + 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, + 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, + 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, + 3.763261486937274*^9, 3.7635554640323896`*^9, {3.7651000790778112`*^9, + 3.765100080702778*^9}, {3.7653865380490265`*^9, 3.7653865624643803`*^9}, + 3.774856291577958*^9, 3.7748618642509794`*^9, {3.7753176502934604`*^9, + 3.775317651851361*^9}}, + ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "15", ",", "15", ",", "0", ",", + "37.7880757`9.329929664938739"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, + 3.763555509393605*^9, 3.7651000962570324`*^9, 3.765386594754282*^9, + 3.76538691023928*^9, {3.7653869665779047`*^9, 3.765387006151044*^9}, + 3.774861290488532*^9, {3.7748618642509794`*^9, 3.7748618676217117`*^9}, + 3.7748628378510113`*^9}, + ExpressionUUID -> "9d107ea6-e9fe-41c6-a8e7-5bcedeab53a6"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862824750338*^9, 3.774862835795474*^9}}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetCnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, + 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"spn1", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "\[Equal]", "state"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.763289864104106*^9, 3.763289897920729*^9}, { + 3.7635474793820314`*^9, 3.763547509099383*^9}, {3.765176052051984*^9, + 3.7651760911784735`*^9}, {3.765386969540123*^9, 3.7653869746931953`*^9}, { + 3.774856340135704*^9, 3.774856341714076*^9}, 3.7748618642509794`*^9}, + ExpressionUUID -> "3d8202ca-d0f5-49af-a79f-b899cac3e64e"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"state", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", + RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { + 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, + 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, + 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { + 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, + 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { + 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, + 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { + 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, + 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { + 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, + 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { + 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, + 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { + 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, + 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { + 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, + 3.763547969476592*^9}, 3.7635546574542184`*^9, 3.7651039003541737`*^9, { + 3.7651759614596443`*^9, 3.7651760366289396`*^9}, {3.765176095975005*^9, + 3.7651760975217886`*^9}, 3.7653868967327237`*^9, {3.774856340612213*^9, + 3.774856358031646*^9}, 3.7748618642509794`*^9}, + ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], + +Cell[BoxData[ + RowBox[{"stated", "=."}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7653869016535296`*^9, 3.7653869038928185`*^9}, + 3.77486186425198*^9, 3.7748628357964735`*^9}], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7748618642529783`*^9, 3.7748628357964735`*^9}, + ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ +\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ +\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ +\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ +\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,602,168,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628382695794`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,169,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838305542*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,602,170, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383325143`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,171,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383594866`*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,602,172, + 16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838387458*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,602,173,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838415429*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,602,174,16167503661247200239,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{ + 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, + 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { + 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, + 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, + 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, + 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, + 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, + 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, + 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, + 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, + 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, + 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, + 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838442401*^9}, + ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"] +}, +WindowSize->{1050, 735}, +WindowMargins->{{Automatic, 322}, {Automatic, 118}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 702, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3129, 71, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3793, 86, 706, 10, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4502, 98, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4784, 106, 404, 6, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5191, 114, 1753, 38, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6947, 154, 583, 11, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7533, 167, 188, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7724, 173, 977, 18, 88, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8704, 193, 768, 14, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9475, 209, 2152, 35, 126, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11630, 246, 224, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11857, 252, 245, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[12117, 259, 6339, 89, 130, "Message"], +Cell[18459, 350, 1275, 20, 21, "Message"], +Cell[19737, 372, 1449, 23, 21, "Message"], +Cell[21189, 397, 1277, 20, 21, "Message"], +Cell[22469, 419, 1447, 23, 21, "Message"], +Cell[23919, 444, 1275, 20, 21, "Message"], +Cell[25197, 466, 1347, 21, 21, "Message"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramConnector.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp index 57d1cc8..91effe0 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp @@ -1,244 +1,244 @@ -#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED -#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -//! -//! @file ActivityDiagramDecision.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:23:44 -//! @brief If selection for state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramDecision.nb*/ - -using namespace hopsan; - -class ActivityDiagramDecision : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event2; - double event3; - //outputVariables - //InitialExpressions variables - double oldEvent2; - double oldEvent3; - //Expressions variables - double dEvent2; - double dEvent3; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent2; - double *mpevent3; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramDecision(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event2","trigger on positive \ -flank","",0.,&mpevent2); - addInputVariable("event3","trigger on positive \ -flank","",0.,&mpevent3); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent2 = event2; - oldEvent3 = event3; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); - - //Preventing creation of extra token - double qpn20 = dEvent2*onPositive(spn1 - spn2); - double qpn30 = dEvent3*onPositive(spn1 - spn3); - bool successP1; - bool successP2; - bool successP3; - - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - - if(qpn20 > 0 || qpn30 > 0) { - successP1 = true; - //Try to lock P1 - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP1 = component->tryAndLockToken(); - } - } - } - //Try to lock P2 - if(qpn20 > 0) { - successP2 = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP2 = component->tryAndLockToken(); - } - } - } - //Try to lock P3 - if(qpn30 > 0) { - successP3 = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP3 = component->tryAndLockToken(); - } - } - } - if(qpn20 > 0 || qpn30 > 0) { - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successP1 && successP2) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent2*onPositive(spn1 - spn2); - } - if(successP1 && successP3) { - qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); - } - } - qpn1 = -onPositive(-0.5 + qpn2 + qpn3); - oldEvent2 = event2; - oldEvent3 = event3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +//! +//! @file ActivityDiagramDecision.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:23:44 +//! @brief If selection for state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramDecision.nb*/ + +using namespace hopsan; + +class ActivityDiagramDecision : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event2; + double event3; + //outputVariables + //InitialExpressions variables + double oldEvent2; + double oldEvent3; + //Expressions variables + double dEvent2; + double dEvent3; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent2; + double *mpevent3; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramDecision(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event2","trigger on positive \ +flank","",0.,&mpevent2); + addInputVariable("event3","trigger on positive \ +flank","",0.,&mpevent3); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent2 = event2; + oldEvent3 = event3; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); + + //Preventing creation of extra token + double qpn20 = dEvent2*onPositive(spn1 - spn2); + double qpn30 = dEvent3*onPositive(spn1 - spn3); + bool successP1; + bool successP2; + bool successP3; + + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + + if(qpn20 > 0 || qpn30 > 0) { + successP1 = true; + //Try to lock P1 + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP1 = component->tryAndLockToken(); + } + } + } + //Try to lock P2 + if(qpn20 > 0) { + successP2 = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP2 = component->tryAndLockToken(); + } + } + } + //Try to lock P3 + if(qpn30 > 0) { + successP3 = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP3 = component->tryAndLockToken(); + } + } + } + if(qpn20 > 0 || qpn30 > 0) { + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successP1 && successP2) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent2*onPositive(spn1 - spn2); + } + if(successP1 && successP3) { + qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); + } + } + qpn1 = -onPositive(-0.5 + qpn2 + qpn3); + oldEvent2 = event2; + oldEvent3 = event3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb index 9bd576b..975f7d6 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb @@ -1,746 +1,746 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 40147, 738] -NotebookOptionsPosition[ 35550, 665] -NotebookOutlinePosition[ 35968, 681] -CellTagsIndexPosition[ 35925, 678] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[64]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - CellLabel->"In[65]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7839336026642847`*^9}, - CellLabel->"Out[65]=",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7839335960458083`*^9}, - CellLabel->"In[66]:=",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.783933602781729*^9}, - CellLabel->"Out[66]=",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[67]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Decision", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.755021377179763*^9, 3.7550213776352935`*^9}, {3.7551010992251368`*^9, - 3.7551011067453823`*^9}, {3.7552806950102434`*^9, 3.755280707559305*^9}, { - 3.7552808134950852`*^9, 3.755280835886998*^9}, 3.7571794848474817`*^9, { - 3.7653654640344186`*^9, 3.765365465561455*^9}, {3.7747937389060163`*^9, - 3.7747937761626363`*^9}, - 3.7747942097903123`*^9},ExpressionUUID->"579c246d-7234-4bbc-a83d-\ -653b42f152d9"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, - 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.755021382930831*^9, 3.7550214033397913`*^9}, { - 3.755101114360531*^9, 3.7551011191455984`*^9}, {3.755101168038189*^9, - 3.7551011721439543`*^9}, {3.755280720238233*^9, 3.7552807489446363`*^9}, { - 3.7552808264926853`*^9, 3.7552808399757824`*^9}, 3.757179487096159*^9, { - 3.7653654729463096`*^9, 3.7653654743850803`*^9}, {3.7747937498138437`*^9, - 3.7747937597243137`*^9}, 3.774794209791312*^9, 3.7753178059060497`*^9}, - CellLabel->"In[68]:=",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, - 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, - 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { - 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, - 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, - 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, - 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, - 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, - 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, - 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, - 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, - 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, - 3.775317823771299*^9, 3.7839336029684124`*^9}, - CellLabel->"Out[73]=",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "28", ",", "13", ",", "40", ",", - "2.8902734`8.21351390967783"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, - 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, - 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { - 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, - 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, - 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, - 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, - 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, - 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, - 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, - 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, - 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, - 3.775317823771299*^9, 3.7839336029684124`*^9}, - CellLabel->"Out[77]=",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7753178114071627`*^9, 3.7753178126798496`*^9}}, - CellLabel->"In[78]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "event2", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event3", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}]}], "\n", " ", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, {3.7550211707735662`*^9, 3.7550212091549945`*^9}, { - 3.7550213368433485`*^9, 3.755021361930483*^9}, {3.7551002377111077`*^9, - 3.755100273841857*^9}, {3.755100337895664*^9, 3.7551003437256527`*^9}, - 3.7551004328008165`*^9, {3.755100578582515*^9, 3.755100578669425*^9}, { - 3.7551014342164*^9, 3.7551014381583347`*^9}, {3.755101493431348*^9, - 3.755101495198529*^9}, {3.755101546333806*^9, 3.7551015485175548`*^9}, - 3.755280763360775*^9, {3.757179509086452*^9, 3.7571795220091095`*^9}, { - 3.757179560664197*^9, 3.7571795619668493`*^9}, 3.7747942097923093`*^9}, - CellLabel->"In[79]:=",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942097923093`*^9}, - CellLabel->"In[80]:=",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent2", "\[Equal]", "event2"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent3", "\[Equal]", "event3"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, - 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, - 3.7749722366624327`*^9}, - CellLabel->"In[81]:=",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent2", "==", - RowBox[{"onPositive", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent3", "==", - RowBox[{"onPositive", "[", - RowBox[{"event3", "-", - RowBox[{"diffevent", " ", "oldEvent3"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"dEvent3", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn3"}], "]"}], - RowBox[{"(", - RowBox[{"1", "-", "qpn2"}], ")"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{"-", - RowBox[{"onPositive", "[", - RowBox[{"qpn2", "+", "qpn3", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent3", "==", "event3"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.755021228933604*^9, - 3.755021278948039*^9}, {3.7550991045618577`*^9, 3.755099112472701*^9}, { - 3.755099168634801*^9, 3.7550992698544407`*^9}, {3.7550993152716155`*^9, - 3.755099358142417*^9}, {3.7550994059501266`*^9, 3.7550994196639867`*^9}, - 3.7550995178927135`*^9, 3.7551004381113434`*^9, 3.7551045016584373`*^9, { - 3.7552807682737083`*^9, 3.755280770768137*^9}, {3.757179542215247*^9, - 3.757179752373249*^9}, {3.7574378471313057`*^9, 3.757437865501336*^9}, - 3.757448097268563*^9, {3.7595689924690266`*^9, 3.759568992946535*^9}, { - 3.76320347871198*^9, 3.763203482457853*^9}, {3.7632045298557444`*^9, - 3.7632045309021263`*^9}, {3.763204981137596*^9, 3.7632049858229017`*^9}, { - 3.7655555913655677`*^9, 3.765555595465226*^9}, {3.774793862135045*^9, - 3.7747938673846397`*^9}, {3.7747939015294933`*^9, 3.7747939124081473`*^9}, - 3.7747942097923093`*^9}, - CellLabel->"In[82]:=",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.75509983772097*^9, 3.7550998382344413`*^9}, - 3.7747942097923093`*^9}, - CellLabel->"In[83]:=",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\ -ActivityDiagramDecision.hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755099839466172*^9, {3.7551002784451103`*^9, 3.755100291957179*^9}, - 3.7551003529920993`*^9, 3.7551004421621637`*^9, 3.7551004781310806`*^9, - 3.7551005858670053`*^9, 3.7551011329084063`*^9, 3.755101308363512*^9, { - 3.755101557911868*^9, 3.7551015773578196`*^9}, 3.755101758976097*^9, - 3.755104506123829*^9, 3.755283164925761*^9, 3.7571798146669254`*^9, { - 3.757437883899338*^9, 3.7574378898442*^9}, 3.7574481005791445`*^9, - 3.763203499779257*^9, 3.7632035734960213`*^9, 3.763204822587062*^9, - 3.7632050102229333`*^9, 3.7653658113939333`*^9, 3.7747942097933083`*^9, - 3.774795582508052*^9, 3.7748629664251757`*^9, 3.775317824124934*^9, - 3.7839336034559755`*^9}, - CellLabel->"Out[83]=",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942097933083`*^9}, - CellLabel->"In[84]:=",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramDecision\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"di\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ -\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ -\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,84,31,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933603848233*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,32,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336039082193`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 84,33,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041041718`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,34,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041281643`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,84,35,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933604148158*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,36,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041721535`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,84,37,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336042886777`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 84,38,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043043046`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,84,39,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043199244`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def"] -}, Open ]] -}, -WindowSize->{862, 669}, -WindowMargins->{{Automatic, 0}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 681, 13, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[1927, 53, 253, 3, 32, "Output",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], -Cell[2183, 58, 535, 11, 48, "Input",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2721, 71, 270, 3, 32, "Output",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], -Cell[CellGroupData[{ -Cell[3016, 78, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3318, 86, 697, 11, 67, "Section",ExpressionUUID->"579c246d-7234-4bbc-a83d-653b42f152d9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4018, 99, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4599, 112, 2053, 42, 200, "Input",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6655, 156, 1224, 17, 32, "Output",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7882, 175, 1289, 20, 32, "Output",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9174, 197, 1123, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10300, 220, 1641, 29, 86, "Input",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11944, 251, 487, 11, 67, "Input",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12434, 264, 601, 12, 86, "Input",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13038, 278, 2872, 54, 181, "Input",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15913, 334, 259, 4, 28, "Input",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16175, 340, 1021, 15, 52, "Output",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17199, 357, 241, 4, 28, "Input",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17443, 363, 6648, 98, 148, "Message",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24094, 463, 1356, 22, 21, "Message",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25453, 487, 1498, 24, 21, "Message",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26954, 513, 1356, 22, 21, "Message",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28313, 537, 1496, 25, 21, "Message",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29812, 564, 1356, 22, 21, "Message",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31171, 588, 1428, 23, 21, "Message",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[32602, 613, 1498, 24, 21, "Message",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[34103, 639, 1431, 23, 21, "Message",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 40147, 738] +NotebookOptionsPosition[ 35550, 665] +NotebookOutlinePosition[ 35968, 681] +CellTagsIndexPosition[ 35925, 678] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[64]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, + 3.774798305629897*^9}}, + CellLabel->"In[65]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7839336026642847`*^9}, + CellLabel->"Out[65]=",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7839335960458083`*^9}, + CellLabel->"In[66]:=",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.783933602781729*^9}, + CellLabel->"Out[66]=",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[67]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Decision", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.755021377179763*^9, 3.7550213776352935`*^9}, {3.7551010992251368`*^9, + 3.7551011067453823`*^9}, {3.7552806950102434`*^9, 3.755280707559305*^9}, { + 3.7552808134950852`*^9, 3.755280835886998*^9}, 3.7571794848474817`*^9, { + 3.7653654640344186`*^9, 3.765365465561455*^9}, {3.7747937389060163`*^9, + 3.7747937761626363`*^9}, + 3.7747942097903123`*^9},ExpressionUUID->"579c246d-7234-4bbc-a83d-\ +653b42f152d9"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, + 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.755021382930831*^9, 3.7550214033397913`*^9}, { + 3.755101114360531*^9, 3.7551011191455984`*^9}, {3.755101168038189*^9, + 3.7551011721439543`*^9}, {3.755280720238233*^9, 3.7552807489446363`*^9}, { + 3.7552808264926853`*^9, 3.7552808399757824`*^9}, 3.757179487096159*^9, { + 3.7653654729463096`*^9, 3.7653654743850803`*^9}, {3.7747937498138437`*^9, + 3.7747937597243137`*^9}, 3.774794209791312*^9, 3.7753178059060497`*^9}, + CellLabel->"In[68]:=",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, + 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, + 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { + 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, + 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, + 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, + 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, + 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, + 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, + 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, + 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, + 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, + 3.775317823771299*^9, 3.7839336029684124`*^9}, + CellLabel->"Out[73]=",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "28", ",", "13", ",", "40", ",", + "2.8902734`8.21351390967783"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, + 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, + 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { + 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, + 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, + 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, + 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, + 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, + 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, + 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, + 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, + 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, + 3.775317823771299*^9, 3.7839336029684124`*^9}, + CellLabel->"Out[77]=",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7753178114071627`*^9, 3.7753178126798496`*^9}}, + CellLabel->"In[78]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "event2", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], ",", + "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event3", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}]}], "\n", " ", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, {3.7550211707735662`*^9, 3.7550212091549945`*^9}, { + 3.7550213368433485`*^9, 3.755021361930483*^9}, {3.7551002377111077`*^9, + 3.755100273841857*^9}, {3.755100337895664*^9, 3.7551003437256527`*^9}, + 3.7551004328008165`*^9, {3.755100578582515*^9, 3.755100578669425*^9}, { + 3.7551014342164*^9, 3.7551014381583347`*^9}, {3.755101493431348*^9, + 3.755101495198529*^9}, {3.755101546333806*^9, 3.7551015485175548`*^9}, + 3.755280763360775*^9, {3.757179509086452*^9, 3.7571795220091095`*^9}, { + 3.757179560664197*^9, 3.7571795619668493`*^9}, 3.7747942097923093`*^9}, + CellLabel->"In[79]:=",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942097923093`*^9}, + CellLabel->"In[80]:=",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent2", "\[Equal]", "event2"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent3", "\[Equal]", "event3"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, + 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, + 3.7749722366624327`*^9}, + CellLabel->"In[81]:=",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent2", "==", + RowBox[{"onPositive", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent3", "==", + RowBox[{"onPositive", "[", + RowBox[{"event3", "-", + RowBox[{"diffevent", " ", "oldEvent3"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"dEvent3", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn3"}], "]"}], + RowBox[{"(", + RowBox[{"1", "-", "qpn2"}], ")"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{"-", + RowBox[{"onPositive", "[", + RowBox[{"qpn2", "+", "qpn3", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent3", "==", "event3"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.755021228933604*^9, + 3.755021278948039*^9}, {3.7550991045618577`*^9, 3.755099112472701*^9}, { + 3.755099168634801*^9, 3.7550992698544407`*^9}, {3.7550993152716155`*^9, + 3.755099358142417*^9}, {3.7550994059501266`*^9, 3.7550994196639867`*^9}, + 3.7550995178927135`*^9, 3.7551004381113434`*^9, 3.7551045016584373`*^9, { + 3.7552807682737083`*^9, 3.755280770768137*^9}, {3.757179542215247*^9, + 3.757179752373249*^9}, {3.7574378471313057`*^9, 3.757437865501336*^9}, + 3.757448097268563*^9, {3.7595689924690266`*^9, 3.759568992946535*^9}, { + 3.76320347871198*^9, 3.763203482457853*^9}, {3.7632045298557444`*^9, + 3.7632045309021263`*^9}, {3.763204981137596*^9, 3.7632049858229017`*^9}, { + 3.7655555913655677`*^9, 3.765555595465226*^9}, {3.774793862135045*^9, + 3.7747938673846397`*^9}, {3.7747939015294933`*^9, 3.7747939124081473`*^9}, + 3.7747942097923093`*^9}, + CellLabel->"In[82]:=",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.75509983772097*^9, 3.7550998382344413`*^9}, + 3.7747942097923093`*^9}, + CellLabel->"In[83]:=",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\ +ActivityDiagramDecision.hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755099839466172*^9, {3.7551002784451103`*^9, 3.755100291957179*^9}, + 3.7551003529920993`*^9, 3.7551004421621637`*^9, 3.7551004781310806`*^9, + 3.7551005858670053`*^9, 3.7551011329084063`*^9, 3.755101308363512*^9, { + 3.755101557911868*^9, 3.7551015773578196`*^9}, 3.755101758976097*^9, + 3.755104506123829*^9, 3.755283164925761*^9, 3.7571798146669254`*^9, { + 3.757437883899338*^9, 3.7574378898442*^9}, 3.7574481005791445`*^9, + 3.763203499779257*^9, 3.7632035734960213`*^9, 3.763204822587062*^9, + 3.7632050102229333`*^9, 3.7653658113939333`*^9, 3.7747942097933083`*^9, + 3.774795582508052*^9, 3.7748629664251757`*^9, 3.775317824124934*^9, + 3.7839336034559755`*^9}, + CellLabel->"Out[83]=",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942097933083`*^9}, + CellLabel->"In[84]:=",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramDecision\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"di\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ +\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ +\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ +\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,84,31,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933603848233*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,32,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336039082193`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 84,33,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041041718`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,34,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041281643`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,84,35,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933604148158*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,84,36,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041721535`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,84,37,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336042886777`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 84,38,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043043046`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,84,39,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, + 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, + 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { + 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, + 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, + 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, + 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, + 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, + 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, + 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, + 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, + 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043199244`*^9}, + CellLabel-> + "During evaluation of \ +In[84]:=",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def"] +}, Open ]] +}, +WindowSize->{862, 669}, +WindowMargins->{{Automatic, 0}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 681, 13, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[1927, 53, 253, 3, 32, "Output",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], +Cell[2183, 58, 535, 11, 48, "Input",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2721, 71, 270, 3, 32, "Output",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], +Cell[CellGroupData[{ +Cell[3016, 78, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3318, 86, 697, 11, 67, "Section",ExpressionUUID->"579c246d-7234-4bbc-a83d-653b42f152d9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4018, 99, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4599, 112, 2053, 42, 200, "Input",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6655, 156, 1224, 17, 32, "Output",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7882, 175, 1289, 20, 32, "Output",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9174, 197, 1123, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10300, 220, 1641, 29, 86, "Input",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11944, 251, 487, 11, 67, "Input",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12434, 264, 601, 12, 86, "Input",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13038, 278, 2872, 54, 181, "Input",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15913, 334, 259, 4, 28, "Input",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16175, 340, 1021, 15, 52, "Output",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17199, 357, 241, 4, 28, "Input",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17443, 363, 6648, 98, 148, "Message",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24094, 463, 1356, 22, 21, "Message",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25453, 487, 1498, 24, 21, "Message",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26954, 513, 1356, 22, 21, "Message",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28313, 537, 1496, 25, 21, "Message",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29812, 564, 1356, 22, 21, "Message",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31171, 588, 1428, 23, 21, "Message",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[32602, 613, 1498, 24, 21, "Message",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[34103, 639, 1431, 23, 21, "Message",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml index 6169f85..a0393ff 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp index 54a700d..7d939f7 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramDecision0.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp @@ -1,242 +1,242 @@ -#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED -#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -su -//! -//! @file ActivityDiagramDecision.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:23:44 -//! @brief If selection for state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramDecision.nb*/ - -using namespace hopsan; - -class ActivityDiagramDecision : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event2; - double event3; - //outputVariables - //InitialExpressions variables - double oldEvent2; - double oldEvent3; - //Expressions variables - double dEvent2; - double dEvent3; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent2; - double *mpevent3; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramDecision(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event2","trigger on positive \ -flank","",0.,&mpevent2); - addInputVariable("event3","trigger on positive \ -flank","",0.,&mpevent3); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent2 = event2; - oldEvent3 = event3; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); - - //Preventing creation of extra token - double qpn20 = dEvent2*onPositive(spn1 - spn2); - double qpn30 = dEvent3*onPositive(spn1 - spn3); - - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - - if(qpn20 > 0 || qpn30 > 0) { - bool successP1 = true; - //Try to lock P1 - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP1 = component->tryAndLockToken(); - } - } - } - //Try to lock P2 - if(qpn20 > 0) { - bool successP2 = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP2 = component->tryAndLockToken(); - } - } - } - //Try to lock P3 - if(qpn30 > 0) { - bool successP3 = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP3 = component->tryAndLockToken(); - } - } - } - if(qpn20 > 0 || qpn30 > 0) { - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successP1 && successP2) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent2*onPositive(spn1 - spn2); - } - if(successP1 && successP3) { - qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); - } - } - qpn1 = -onPositive(-0.5 + qpn2 + qpn3); - oldEvent2 = event2; - oldEvent3 = event3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED +#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +su +//! +//! @file ActivityDiagramDecision.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:23:44 +//! @brief If selection for state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramDecision.nb*/ + +using namespace hopsan; + +class ActivityDiagramDecision : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event2; + double event3; + //outputVariables + //InitialExpressions variables + double oldEvent2; + double oldEvent3; + //Expressions variables + double dEvent2; + double dEvent3; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent2; + double *mpevent3; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramDecision(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event2","trigger on positive \ +flank","",0.,&mpevent2); + addInputVariable("event3","trigger on positive \ +flank","",0.,&mpevent3); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent2 = event2; + oldEvent3 = event3; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event2 = (*mpevent2); + event3 = (*mpevent3); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); + + //Preventing creation of extra token + double qpn20 = dEvent2*onPositive(spn1 - spn2); + double qpn30 = dEvent3*onPositive(spn1 - spn3); + + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + + if(qpn20 > 0 || qpn30 > 0) { + bool successP1 = true; + //Try to lock P1 + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP1 = component->tryAndLockToken(); + } + } + } + //Try to lock P2 + if(qpn20 > 0) { + bool successP2 = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP2 = component->tryAndLockToken(); + } + } + } + //Try to lock P3 + if(qpn30 > 0) { + bool successP3 = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successP3 = component->tryAndLockToken(); + } + } + } + if(qpn20 > 0 || qpn30 > 0) { + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successP1 && successP2) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent2*onPositive(spn1 - spn2); + } + if(successP1 && successP3) { + qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); + } + } + qpn1 = -onPositive(-0.5 + qpn2 + qpn3); + oldEvent2 = event2; + oldEvent3 = event3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp index a43919f..5317f42 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp @@ -1,198 +1,198 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -#include "ActivityDiagramActionN.hpp" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - - qpn1 = 0; - qpn2 = 0; - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - double drop = onPositive(-0.5 + spn1 - spn2); - if(dEvent > 0 && drop > 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +#include "ActivityDiagramActionN.hpp" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + + qpn1 = 0; + qpn2 = 0; + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + double drop = onPositive(-0.5 + spn1 - spn2); + if(dEvent > 0 && drop > 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb index fbe5bb4..6008888 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb @@ -1,738 +1,738 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 36438, 730] -NotebookOptionsPosition[ 31015, 645] -NotebookOutlinePosition[ 31464, 662] -CellTagsIndexPosition[ 31421, 659] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[173]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel-> - "In[174]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, - 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, - 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, - 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, - 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, - 3.780138923762919*^9}, - CellLabel-> - "Out[174]=",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, - CellLabel-> - "In[175]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}}, - CellLabel-> - "Out[175]=",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { - 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, - CellLabel-> - "In[176]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, - 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, - 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, - 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, - 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, - 3.7801336300384307`*^9, 3.7801389239780316`*^9}, - CellLabel-> - "Out[176]=",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7"] -}, Open ]], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ -"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[196]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Edge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, - 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, - 3.774781001216793*^9}, {3.774861337479744*^9, - 3.774861338502689*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ -1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940389271574`*^9}, - 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { - 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { - 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, - 3.77478102110835*^9}, 3.7749717143792067`*^9}, - CellLabel-> - "In[197]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9}, - CellLabel-> - "Out[202]=",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "16", ",", "9", ",", "5", ",", - "34.9215023`9.29566781492157"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350214443`*^9}, - CellLabel-> - "Out[206]=",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, - CellLabel-> - "In[207]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}}, - CellLabel-> - "In[208]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272249647017`*^9, - 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, - 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, - CellLabel-> - "In[209]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, - CellLabel-> - "In[210]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell["\<\ -outputVariables = { - {dEvent, 0., double, \"\", \"state\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, - 3.7627280783297443`*^9, 3.7749718981811323`*^9, - 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ -f858f9817189"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", - RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, - CellLabel-> - "In[211]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { - 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, - 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, - 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, - 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { - 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, - 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { - 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { - 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, - 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { - 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, - 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { - 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9}, - CellLabel-> - "In[212]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7627280783307447`*^9}, - CellLabel-> - "In[213]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\ -\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,213, - 57,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,58,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356926794`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,213,59, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198335706673*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,60,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983358348913`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,213,61, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983358528805`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,62,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.78019833587187*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,213,63,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198335993745*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,213,64,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198336013734*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,213,65,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983360287256`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, - 3.774783253702371*^9}, - CellLabel-> - "In[214]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramEdge.\ -hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, - 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, - 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, - 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, - 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, - 3.780138926395756*^9, 3.780198336277796*^9}, - CellLabel-> - "Out[214]=",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222"] -}, Open ]] -}, -WindowSize->{932, 632}, -WindowMargins->{{0, Automatic}, {Automatic, 22}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 1235, 22, 55, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2473, 62, 899, 14, 36, "Output",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3375, 78, 766, 15, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4144, 95, 378, 6, 36, "Output",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4525, 103, 837, 16, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5365, 121, 938, 14, 36, "Output",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[6318, 138, 414, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], -Cell[CellGroupData[{ -Cell[6757, 151, 303, 7, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7063, 160, 483, 8, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7549, 170, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8117, 182, 1787, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9907, 223, 1370, 20, 36, "Output",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11280, 245, 1434, 23, 36, "Output",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12717, 270, 271, 6, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12991, 278, 875, 18, 99, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13869, 298, 908, 18, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14780, 318, 887, 17, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15670, 337, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16023, 348, 353, 8, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16379, 358, 2239, 40, 143, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18621, 400, 245, 5, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18869, 407, 3291, 51, 81, "Message",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22163, 460, 897, 17, 23, "Message",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23063, 479, 1067, 20, 23, "Message",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24133, 501, 897, 17, 23, "Message",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25033, 520, 1069, 20, 23, "Message",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26105, 542, 894, 17, 23, "Message",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27002, 561, 967, 18, 23, "Message",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27972, 581, 1037, 20, 23, "Message",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29012, 603, 972, 18, 23, "Message",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29987, 623, 264, 5, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30254, 630, 745, 12, 59, "Output",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 36438, 730] +NotebookOptionsPosition[ 31015, 645] +NotebookOutlinePosition[ 31464, 662] +CellTagsIndexPosition[ 31421, 659] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[173]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel-> + "In[174]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, + 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, + 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, + 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, + 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, + 3.780138923762919*^9}, + CellLabel-> + "Out[174]=",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, + CellLabel-> + "In[175]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}}, + CellLabel-> + "Out[175]=",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { + 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, + CellLabel-> + "In[176]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, + 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, + 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, + 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, + 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, + 3.7801336300384307`*^9, 3.7801389239780316`*^9}, + CellLabel-> + "Out[176]=",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ +"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[196]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Edge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, + 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, + 3.774781001216793*^9}, {3.774861337479744*^9, + 3.774861338502689*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ +1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940389271574`*^9}, + 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { + 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { + 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, + 3.77478102110835*^9}, 3.7749717143792067`*^9}, + CellLabel-> + "In[197]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9}, + CellLabel-> + "Out[202]=",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "16", ",", "9", ",", "5", ",", + "34.9215023`9.29566781492157"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350214443`*^9}, + CellLabel-> + "Out[206]=",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, + CellLabel-> + "In[207]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}}, + CellLabel-> + "In[208]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272249647017`*^9, + 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, + 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, + CellLabel-> + "In[209]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, + CellLabel-> + "In[210]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell["\<\ +outputVariables = { + {dEvent, 0., double, \"\", \"state\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, + 3.7627280783297443`*^9, 3.7749718981811323`*^9, + 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ +f858f9817189"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", + RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, + CellLabel-> + "In[211]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { + 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, + 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, + 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, + 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { + 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, + 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { + 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { + 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, + 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { + 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, + 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { + 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9}, + CellLabel-> + "In[212]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7627280783307447`*^9}, + CellLabel-> + "In[213]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\ +\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,213, + 57,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,58,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356926794`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,213,59, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198335706673*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,60,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983358348913`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ +XMLElement. The value of the attribute must be a string.\"",2,213,61, + 18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983358528805`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,213,62,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.78019833587187*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,213,63,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198335993745*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,213,64,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.780198336013734*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,213,65,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983360287256`*^9}, + CellLabel-> + "During evaluation of \ +In[213]:=",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, + 3.774783253702371*^9}, + CellLabel-> + "In[214]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramEdge.\ +hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, + 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, + 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, + 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, + 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, + 3.780138926395756*^9, 3.780198336277796*^9}, + CellLabel-> + "Out[214]=",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222"] +}, Open ]] +}, +WindowSize->{932, 632}, +WindowMargins->{{0, Automatic}, {Automatic, 22}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 1235, 22, 55, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2473, 62, 899, 14, 36, "Output",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3375, 78, 766, 15, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4144, 95, 378, 6, 36, "Output",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4525, 103, 837, 16, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5365, 121, 938, 14, 36, "Output",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[6318, 138, 414, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], +Cell[CellGroupData[{ +Cell[6757, 151, 303, 7, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7063, 160, 483, 8, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7549, 170, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8117, 182, 1787, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9907, 223, 1370, 20, 36, "Output",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11280, 245, 1434, 23, 36, "Output",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12717, 270, 271, 6, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12991, 278, 875, 18, 99, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13869, 298, 908, 18, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14780, 318, 887, 17, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15670, 337, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16023, 348, 353, 8, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16379, 358, 2239, 40, 143, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18621, 400, 245, 5, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18869, 407, 3291, 51, 81, "Message",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22163, 460, 897, 17, 23, "Message",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23063, 479, 1067, 20, 23, "Message",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24133, 501, 897, 17, 23, "Message",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25033, 520, 1069, 20, 23, "Message",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26105, 542, 894, 17, 23, "Message",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27002, 561, 967, 18, 23, "Message",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27972, 581, 1037, 20, 23, "Message",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29012, 603, 972, 18, 23, "Message",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29987, 623, 264, 5, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30254, 630, 745, 12, 59, "Output",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml index 93aa33a..847a25e 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp index c36652e..01f3c4e 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge01.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp @@ -1,164 +1,164 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp index a43919f..5317f42 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramEdge1.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp @@ -1,198 +1,198 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -#include "ActivityDiagramActionN.hpp" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - - qpn1 = 0; - qpn2 = 0; - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - double drop = onPositive(-0.5 + spn1 - spn2); - if(dEvent > 0 && drop > 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" +#include "ActivityDiagramActionN.hpp" + +//! +//! @file ActivityDiagramEdge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Tue 20 Aug 2019 21:24:55 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramEdge.nb*/ + +using namespace hopsan; + +class ActivityDiagramEdge : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramEdge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + + qpn1 = 0; + qpn2 = 0; + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + double drop = onPositive(-0.5 + spn1 - spn2); + if(dEvent > 0 && drop > 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp index 632d02c..d4a61dd 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp @@ -1,145 +1,145 @@ -#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED -#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFinal.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 27 Nov 2019 13:11:18 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFinal.nb*/ - -using namespace hopsan; - -class ActivityDiagramFinal : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFinal(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn1 = -(dEvent*onPositive(-0.5 + spn1)); - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFINAL_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED +#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFinal.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 27 Nov 2019 13:11:18 +//! @brief Edge for an activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFinal.nb*/ + +using namespace hopsan; + +class ActivityDiagramFinal : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + double dEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFinal(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event ","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = event; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn1 = -(dEvent*onPositive(-0.5 + spn1)); + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFINAL_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb index bcdf9f3..f799bdc 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb @@ -1,720 +1,720 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 37398, 712] -NotebookOptionsPosition[ 32152, 628] -NotebookOutlinePosition[ 32601, 645] -CellTagsIndexPosition[ 32558, 642] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[40]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel->"In[41]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, - 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, - 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, - 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, - 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, - 3.780138923762919*^9, 3.7838454778730965`*^9}, - CellLabel->"Out[41]=",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, - CellLabel->"In[42]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}, - 3.7838454779706993`*^9}, - CellLabel->"Out[42]=",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { - 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, - CellLabel->"In[43]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, - 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, - 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, - 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, - 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, - 3.7801336300384307`*^9, 3.7801389239780316`*^9, 3.7838454780727134`*^9}, - CellLabel->"Out[43]=",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellLabel->"In[44]:=",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7838454781824636`*^9}, - CellLabel->"Out[44]=",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[45]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Final", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, - 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, - 3.774781001216793*^9}, {3.774861337479744*^9, 3.774861338502689*^9}, { - 3.7838454562700553`*^9, - 3.78384545691061*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ -1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940389271574`*^9}, - 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { - 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { - 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, - 3.77478102110835*^9}, 3.7749717143792067`*^9, {3.783845452706601*^9, - 3.7838454535346675`*^9}}, - CellLabel->"In[46]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478355116*^9}, - CellLabel->"Out[51]=",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "27", ",", "13", ",", "11", ",", - "18.2740075`9.014408738882913"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478360263*^9}, - CellLabel->"Out[55]=",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, - CellLabel->"In[56]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, 3.783845382014352*^9}, - CellLabel->"In[57]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272249647017`*^9, - 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, - 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, - CellLabel->"In[58]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, - CellLabel->"In[59]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell["\<\ -outputVariables = { - {dEvent, 0., double, \"\", \"state\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, - 3.7627280783297443`*^9, 3.7749718981811323`*^9, - 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ -f858f9817189"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", - RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, - CellLabel->"In[60]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { - 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, - 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, - 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, - 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { - 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, - 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { - 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { - 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, - 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { - 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, - 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { - 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9, { - 3.783845393127009*^9, 3.7838454104907365`*^9}}, - CellLabel->"In[61]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7627280783307447`*^9}, - CellLabel->"In[62]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"A\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"l\\\\\\\"\ -\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,62, - 24,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478774294*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,25,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478833149*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,62,26,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789400873`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,27,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.78384547895208*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,62,28,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789620743`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,29,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789750695`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,62,30,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478995056*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, - 3.774783253702371*^9}, - CellLabel->"In[63]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramFinal.\ -hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, - 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, - 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, - 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, - 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, - 3.780138926395756*^9, 3.780198336277796*^9, 3.783845479208876*^9}, - CellLabel->"Out[63]=",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd"] -}, Open ]] -}, -WindowSize->{1008, 709}, -WindowMargins->{{0, Automatic}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1231, 21, 32, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2465, 60, 919, 13, 36, "Output",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3387, 75, 762, 14, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4152, 91, 402, 6, 36, "Output",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4557, 99, 833, 15, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5393, 116, 958, 13, 36, "Output",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[6388, 134, 436, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], -Cell[6827, 145, 272, 3, 36, "Output",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] -}, Open ]], -Cell[CellGroupData[{ -Cell[7136, 153, 299, 6, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7438, 161, 535, 9, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7976, 172, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8544, 184, 1836, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10383, 225, 1388, 19, 36, "Output",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11774, 246, 1455, 22, 36, "Output",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13232, 270, 267, 5, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13502, 277, 726, 13, 77, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14231, 292, 904, 17, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15138, 311, 883, 16, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16024, 329, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16377, 340, 349, 7, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16729, 349, 2203, 38, 121, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18935, 389, 241, 4, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19179, 395, 6046, 90, 119, "Message",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25228, 487, 917, 17, 23, "Message",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26148, 506, 1061, 20, 23, "Message",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27212, 528, 916, 17, 23, "Message",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28131, 547, 1061, 20, 23, "Message",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29195, 569, 919, 17, 23, "Message",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30117, 588, 989, 18, 23, "Message",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31109, 608, 260, 4, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31372, 614, 764, 11, 36, "Output",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 37398, 712] +NotebookOptionsPosition[ 32152, 628] +NotebookOutlinePosition[ 32601, 645] +CellTagsIndexPosition[ 32558, 642] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[40]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel->"In[41]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, + 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, + 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, + 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, + 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, + 3.780138923762919*^9, 3.7838454778730965`*^9}, + CellLabel->"Out[41]=",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, + CellLabel->"In[42]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}, + 3.7838454779706993`*^9}, + CellLabel->"Out[42]=",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { + 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, + CellLabel->"In[43]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, + 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, + 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, + 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, + 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, + 3.7801336300384307`*^9, 3.7801389239780316`*^9, 3.7838454780727134`*^9}, + CellLabel->"Out[43]=",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellLabel->"In[44]:=",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7838454781824636`*^9}, + CellLabel->"Out[44]=",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[45]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Final", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, + 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, + 3.774781001216793*^9}, {3.774861337479744*^9, 3.774861338502689*^9}, { + 3.7838454562700553`*^9, + 3.78384545691061*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ +1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940389271574`*^9}, + 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { + 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { + 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, + 3.77478102110835*^9}, 3.7749717143792067`*^9, {3.783845452706601*^9, + 3.7838454535346675`*^9}}, + CellLabel->"In[46]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478355116*^9}, + CellLabel->"Out[51]=",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "27", ",", "13", ",", "11", ",", + "18.2740075`9.014408738882913"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, + 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, + 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, + 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, + 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, + 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, + 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, + 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { + 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, + 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, + 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, + 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, + 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, + 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, + 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478360263*^9}, + CellLabel->"Out[55]=",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, + CellLabel->"In[56]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, 3.783845382014352*^9}, + CellLabel->"In[57]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272249647017`*^9, + 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, + 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, + CellLabel->"In[58]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, + CellLabel->"In[59]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell["\<\ +outputVariables = { + {dEvent, 0., double, \"\", \"state\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, + 3.7627280783297443`*^9, 3.7749718981811323`*^9, + 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ +f858f9817189"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", + RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, + CellLabel->"In[60]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { + 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, + 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, + 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, + 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { + 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, + 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { + 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { + 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, + 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { + 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, + 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { + 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9, { + 3.783845393127009*^9, 3.7838454104907365`*^9}}, + CellLabel->"In[61]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7627280783307447`*^9}, + CellLabel->"In[62]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ +\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +RowBox[{\\\"\\\\\\\"A\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"l\\\\\\\"\ +\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,62, + 24,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478774294*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,25,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478833149*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,62,26,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789400873`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,27,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.78384547895208*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,62,28,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789620743`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,62,29,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789750695`*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,62,30,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { + 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, + 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, + 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, + 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, + 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, + 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478995056*^9}, + CellLabel-> + "During evaluation of \ +In[62]:=",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f"], + +Cell[BoxData["file"], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, + 3.774783253702371*^9}, + CellLabel->"In[63]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramFinal.\ +hpp\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, + 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, + 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, + 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, + 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, + 3.780138926395756*^9, 3.780198336277796*^9, 3.783845479208876*^9}, + CellLabel->"Out[63]=",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd"] +}, Open ]] +}, +WindowSize->{1008, 709}, +WindowMargins->{{0, Automatic}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1231, 21, 32, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2465, 60, 919, 13, 36, "Output",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3387, 75, 762, 14, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4152, 91, 402, 6, 36, "Output",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4557, 99, 833, 15, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5393, 116, 958, 13, 36, "Output",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[CellGroupData[{ +Cell[6388, 134, 436, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], +Cell[6827, 145, 272, 3, 36, "Output",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] +}, Open ]], +Cell[CellGroupData[{ +Cell[7136, 153, 299, 6, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7438, 161, 535, 9, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7976, 172, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8544, 184, 1836, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10383, 225, 1388, 19, 36, "Output",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11774, 246, 1455, 22, 36, "Output",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13232, 270, 267, 5, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13502, 277, 726, 13, 77, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14231, 292, 904, 17, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15138, 311, 883, 16, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16024, 329, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16377, 340, 349, 7, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16729, 349, 2203, 38, 121, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18935, 389, 241, 4, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19179, 395, 6046, 90, 119, "Message",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25228, 487, 917, 17, 23, "Message",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26148, 506, 1061, 20, 23, "Message",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27212, 528, 916, 17, 23, "Message",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28131, 547, 1061, 20, 23, "Message",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29195, 569, 919, 17, 23, "Message",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30117, 588, 989, 18, 23, "Message",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31109, 608, 260, 4, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31372, 614, 764, 11, 36, "Output",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinal0.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.hpp similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.hpp diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFinalNode.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp index 80ab2cd..d71d81d 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp @@ -1,228 +1,228 @@ -#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED -#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFork.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 13 Nov 2019 16:14:51 -//! @brief Fork for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ - -using namespace hopsan; - -class ActivityDiagramFork : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - double qpn10; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFork(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - //Preventing creation of extra token - double drop = onPositive(-0.5 + spn1 - spn2 - spn3); - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - //if(dEvent > 0 && drop > 0) { - if(qpn10 < 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - successDownstream = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = -qpn10; - qpn3 = -qpn10; - qpn1 = qpn10; - } - } - oldEvent = event; - /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFork.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 13 Nov 2019 16:14:51 +//! @brief Fork for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ + +using namespace hopsan; + +class ActivityDiagramFork : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + double qpn10; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFork(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + //Preventing creation of extra token + double drop = onPositive(-0.5 + spn1 - spn2 - spn3); + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + //if(dEvent > 0 && drop > 0) { + if(qpn10 < 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + successDownstream = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = -qpn10; + qpn3 = -qpn10; + qpn1 = qpn10; + } + } + oldEvent = event; + /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb index f3bd405..4781bb4 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb @@ -1,599 +1,599 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 30428, 591] -NotebookOptionsPosition[ 26705, 533] -NotebookOutlinePosition[ 27124, 549] -CellTagsIndexPosition[ 27081, 546] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[61]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9, 3.7627287106739197`*^9, {3.7653655281709204`*^9, - 3.7653655397771883`*^9}, {3.774863771563929*^9, 3.7748637782681117`*^9}, - 3.774863822282749*^9, 3.7826467657097054`*^9}, - CellLabel->"In[63]:=",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7653656647449336`*^9, 3.7653658264367056`*^9, 3.7653658794497952`*^9, - 3.7654310624811687`*^9, 3.7654312190637693`*^9, 3.774863782789399*^9, { - 3.774863822282749*^9, 3.7748638255252094`*^9}, 3.774863903001707*^9, - 3.774863987619404*^9, 3.7753178495516796`*^9, 3.782646735725585*^9, - 3.7826467716284*^9, 3.782646889210889*^9, 3.7826523908287973`*^9}, - CellLabel->"Out[63]=",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.783933562698448*^9},ExpressionUUID->"d4124b2a-ea86-4434-bcf9-\ -b213164ffac7"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[64]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Fork", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7552829602158165`*^9, 3.7552829636462793`*^9}, {3.7653652937303224`*^9, - 3.7653652948741436`*^9}, 3.7747951051283193`*^9, - 3.774861352550853*^9},ExpressionUUID->"e530ed89-c702-4a63-ba9a-\ -2addaa99d206"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, - 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7552811322054944`*^9, 3.755281141404011*^9}, { - 3.76536529882735*^9, 3.7653653147948*^9}, 3.7747951068994923`*^9, - 3.774861352550853*^9, 3.77531784181115*^9, 3.783842808838291*^9, - 3.783843119461669*^9},ExpressionUUID->"66226cc4-c34c-490e-8628-\ -63aa4715d8a0"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, - 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, - 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, - 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, - 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, - 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, - 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, - 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, - 3.782652391913143*^9}, - CellLabel->"Out[70]=",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "13", ",", "17", ",", "46", ",", - "31.7112596`9.25378839754705"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, - 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, - 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, - 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, - 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, - 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, - 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, - 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, - 3.7826523919391284`*^9}, - CellLabel->"Out[74]=",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748639779539723`*^9, 3.774863984865543*^9}}, - CellLabel->"In[75]:=",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7748638812026606`*^9, 3.774863885385459*^9}, {3.7838431361781645`*^9, - 3.783843149997116*^9}},ExpressionUUID->"2096f5b3-005e-4e58-a8bb-\ -ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\n", " ", - RowBox[{"{", - RowBox[{ - "event", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], "\n", " ", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7550214607545958`*^9, {3.765431186087635*^9, - 3.765431200241627*^9}, 3.774861352550853*^9}, - CellLabel->"In[77]:=",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774861352550853*^9, 3.7826468701107273`*^9}, - CellLabel->"In[78]:=",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7643433362447524`*^9, - 3.7643433574496603`*^9}, {3.7747951683414693`*^9, 3.774795202078376*^9}, - 3.7748613525528517`*^9, 3.774863901313697*^9, {3.7826466491704607`*^9, - 3.7826466742648764`*^9}}, - CellLabel->"In[79]:=",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774861352553851*^9, 3.774863901313697*^9}, - CellLabel->"In[80]:=",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Act\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"Fork\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]\\) is \ -not a list of contents. The third item in an XMLElement must be a list of \ -contents, even if it is an empty list.\"",2,80,33,19006202694589510913, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.7826523976370525`*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,34,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652398229714*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 80,35,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652398750414*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,36,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652399246129*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,80,37,19006202694589510913, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.78265239952297*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,38,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652399823799*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,80,39,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400312519*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 80,40,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400580365*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,80,41,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400856207*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] -}, -WindowSize->{1008, 709}, -WindowMargins->{{0, Automatic}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1443, 23, 48, "Input",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2677, 62, 668, 9, 32, "Output",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3348, 73, 514, 12, 48, "Input",ExpressionUUID->"d4124b2a-ea86-4434-bcf9-b213164ffac7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3865, 87, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4167, 95, 487, 8, 67, "Section",ExpressionUUID->"e530ed89-c702-4a63-ba9a-2addaa99d206", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4657, 105, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5238, 118, 1802, 39, 200, "Input",ExpressionUUID->"66226cc4-c34c-490e-8628-63aa4715d8a0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7043, 159, 903, 13, 32, "Output",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7949, 174, 971, 16, 32, "Output",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8923, 192, 269, 5, 28, "Input",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9195, 199, 1151, 22, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10349, 223, 932, 17, 67, "Input",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11284, 242, 509, 11, 67, "Input",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11796, 255, 1785, 36, 143, "Input",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13584, 293, 261, 4, 28, "Input",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[13860, 300, 4621, 70, 77, "Message",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], -Cell[18484, 372, 953, 17, 21, "Message",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], -Cell[19440, 391, 1095, 19, 21, "Message",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], -Cell[20538, 412, 953, 17, 21, "Message",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], -Cell[21494, 431, 1094, 20, 21, "Message",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], -Cell[22591, 453, 953, 17, 21, "Message",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], -Cell[23547, 472, 1025, 18, 21, "Message",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], -Cell[24575, 492, 1095, 19, 21, "Message",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], -Cell[25673, 513, 1028, 18, 21, "Message",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 30428, 591] +NotebookOptionsPosition[ 26705, 533] +NotebookOutlinePosition[ 27124, 549] +CellTagsIndexPosition[ 27081, 546] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[61]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9, 3.7627287106739197`*^9, {3.7653655281709204`*^9, + 3.7653655397771883`*^9}, {3.774863771563929*^9, 3.7748637782681117`*^9}, + 3.774863822282749*^9, 3.7826467657097054`*^9}, + CellLabel->"In[63]:=",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7653656647449336`*^9, 3.7653658264367056`*^9, 3.7653658794497952`*^9, + 3.7654310624811687`*^9, 3.7654312190637693`*^9, 3.774863782789399*^9, { + 3.774863822282749*^9, 3.7748638255252094`*^9}, 3.774863903001707*^9, + 3.774863987619404*^9, 3.7753178495516796`*^9, 3.782646735725585*^9, + 3.7826467716284*^9, 3.782646889210889*^9, 3.7826523908287973`*^9}, + CellLabel->"Out[63]=",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.783933562698448*^9},ExpressionUUID->"d4124b2a-ea86-4434-bcf9-\ +b213164ffac7"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[64]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Fork", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7552829602158165`*^9, 3.7552829636462793`*^9}, {3.7653652937303224`*^9, + 3.7653652948741436`*^9}, 3.7747951051283193`*^9, + 3.774861352550853*^9},ExpressionUUID->"e530ed89-c702-4a63-ba9a-\ +2addaa99d206"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, + 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ +967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7552811322054944`*^9, 3.755281141404011*^9}, { + 3.76536529882735*^9, 3.7653653147948*^9}, 3.7747951068994923`*^9, + 3.774861352550853*^9, 3.77531784181115*^9, 3.783842808838291*^9, + 3.783843119461669*^9},ExpressionUUID->"66226cc4-c34c-490e-8628-\ +63aa4715d8a0"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, + 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, + 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, + 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, + 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, + 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, + 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, + 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, + 3.782652391913143*^9}, + CellLabel->"Out[70]=",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "13", ",", "17", ",", "46", ",", + "31.7112596`9.25378839754705"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, + 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, + 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, + 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, + 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, + 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, + 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, + 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, + 3.7826523919391284`*^9}, + CellLabel->"Out[74]=",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748639779539723`*^9, 3.774863984865543*^9}}, + CellLabel->"In[75]:=",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7748638812026606`*^9, 3.774863885385459*^9}, {3.7838431361781645`*^9, + 3.783843149997116*^9}},ExpressionUUID->"2096f5b3-005e-4e58-a8bb-\ +ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", " ", "=", " ", + RowBox[{"{", "\n", " ", + RowBox[{"{", + RowBox[{ + "event", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], "\n", " ", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7550214607545958`*^9, {3.765431186087635*^9, + 3.765431200241627*^9}, 3.774861352550853*^9}, + CellLabel->"In[77]:=",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774861352550853*^9, 3.7826468701107273`*^9}, + CellLabel->"In[78]:=",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"dEvent", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7643433362447524`*^9, + 3.7643433574496603`*^9}, {3.7747951683414693`*^9, 3.774795202078376*^9}, + 3.7748613525528517`*^9, 3.774863901313697*^9, {3.7826466491704607`*^9, + 3.7826466742648764`*^9}}, + CellLabel->"In[79]:=",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774861352553851*^9, 3.774863901313697*^9}, + CellLabel->"In[80]:=",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"Act\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"Fork\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ +\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]\\) is \ +not a list of contents. The third item in an XMLElement must be a list of \ +contents, even if it is an empty list.\"",2,80,33,19006202694589510913, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.7826523976370525`*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,34,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652398229714*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 80,35,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652398750414*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,36,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652399246129*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,80,37,19006202694589510913, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.78265239952297*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,80,38,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652399823799*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,80,39,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400312519*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 80,40,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400580365*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,80,41,19006202694589510913,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, + 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, + 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, + 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, + 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, + 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, + 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, + 3.782646891922616*^9, 3.782652400856207*^9}, + CellLabel-> + "During evaluation of \ +In[80]:=",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] +}, +WindowSize->{1008, 709}, +WindowMargins->{{0, Automatic}, {Automatic, 0}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1443, 23, 48, "Input",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2677, 62, 668, 9, 32, "Output",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3348, 73, 514, 12, 48, "Input",ExpressionUUID->"d4124b2a-ea86-4434-bcf9-b213164ffac7", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3865, 87, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4167, 95, 487, 8, 67, "Section",ExpressionUUID->"e530ed89-c702-4a63-ba9a-2addaa99d206", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4657, 105, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5238, 118, 1802, 39, 200, "Input",ExpressionUUID->"66226cc4-c34c-490e-8628-63aa4715d8a0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7043, 159, 903, 13, 32, "Output",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7949, 174, 971, 16, 32, "Output",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8923, 192, 269, 5, 28, "Input",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9195, 199, 1151, 22, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10349, 223, 932, 17, 67, "Input",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11284, 242, 509, 11, 67, "Input",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11796, 255, 1785, 36, 143, "Input",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13584, 293, 261, 4, 28, "Input",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[13860, 300, 4621, 70, 77, "Message",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], +Cell[18484, 372, 953, 17, 21, "Message",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], +Cell[19440, 391, 1095, 19, 21, "Message",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], +Cell[20538, 412, 953, 17, 21, "Message",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], +Cell[21494, 431, 1094, 20, 21, "Message",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], +Cell[22591, 453, 953, 17, 21, "Message",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], +Cell[23547, 472, 1025, 18, 21, "Message",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], +Cell[24575, 492, 1095, 19, 21, "Message",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], +Cell[25673, 513, 1028, 18, 21, "Message",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml index 8b5f308..7d77610 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp index 0f3904a..ee6a5f6 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramFork0.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp @@ -1,228 +1,228 @@ -#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED -#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFork.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 13 Nov 2019 16:14:51 -//! @brief Fork for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ - -using namespace hopsan; - -class ActivityDiagramFork : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - double qpn10; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFork(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - //Preventing creation of extra token - double drop = onPositive(-0.5 + spn1 - spn2 - spn3); - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - //if(dEvent > 0 && drop > 0) { - if(qpn10 < 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - successDownstream = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED +#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramFork.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 13 Nov 2019 16:14:51 +//! @brief Fork for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ + +using namespace hopsan; + +class ActivityDiagramFork : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + double qpn10; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramFork(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); + //Preventing creation of extra token + double drop = onPositive(-0.5 + spn1 - spn2 - spn3); + qpn2 = 0; + qpn3 = 0; + qpn1 = 0; + qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + //if(dEvent > 0 && drop > 0) { + if(qpn10 < 0) { + bool successUpstream = true; + + //Try to lock upstream component + for(auto pPort : mpPpn1->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successUpstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + bool successDownstream = true; + for(auto pPort : mpPpn2->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Try to lock downstream component + successDownstream = true; + for(auto pPort : mpPpn3->getConnectedPorts()) { + if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { + auto component = dynamic_cast(pPort->getComponent()); + successDownstream = component->tryAndLockToken(); + } + } + + //Locked both upstream and downstream (or not ActionN-components), compute flow + if(successUpstream && successDownstream) { + addDebugMessage("Locked tokens!"); + qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + } + } + /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); + qpn1 = -qpn2; + oldEvent = event; + */ + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.xml similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramForkN.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.xml diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp index 9cb0e0b..ae48d32 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp @@ -1,144 +1,144 @@ -#ifndef ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED -#define ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramInitiateState.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 17 Oct 2019 19:22:27 -//! @brief Initialization for a Activity Diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramInitiateState.nb*/ - -using namespace hopsan; - -class ActivityDiagramInitiateState : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramInitiateState(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "event (trigg on positive flank)", \ -"", 1.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = 0.; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - qpn1 = onPositive(-0.5 + event - diffEvent*oldEvent - spn1); - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED +#define ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramInitiateState.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 17 Oct 2019 19:22:27 +//! @brief Initialization for a Activity Diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramInitiateState.nb*/ + +using namespace hopsan; + +class ActivityDiagramInitiateState : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //InitialExpressions variables + double oldEvent; + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramInitiateState(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on positive \ +flank)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "event (trigg on positive flank)", \ +"", 1.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent = 0.; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + qpn1 = onPositive(-0.5 + event - diffEvent*oldEvent - spn1); + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb index 98c1bd4..2f81dcf 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb @@ -1,568 +1,568 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 28067, 560] -NotebookOptionsPosition[ 24247, 500] -NotebookOutlinePosition[ 24668, 516] -CellTagsIndexPosition[ 24625, 513] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[289]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, 3.7748679214756083`*^9}, - CellLabel-> - "In[290]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.77479556374086*^9, - 3.7748613834299583`*^9, 3.7748619371199417`*^9, 3.7748642131804657`*^9, - 3.7748645633975315`*^9, {3.7748645970573945`*^9, 3.774864607918788*^9}, - 3.774867703652725*^9, 3.774867926791222*^9, 3.774892832598035*^9, - 3.775317869629486*^9, 3.7803136766181493`*^9}, - CellLabel-> - "Out[290]=",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.780313242636645*^9}, - CellLabel-> - "In[291]:=",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.780313676730456*^9, 3.780322390417487*^9}, - CellLabel-> - "Out[291]=",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[310]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Initiate", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.754047538282405*^9, - 3.754047549959265*^9}, {3.7552832968927016`*^9, 3.7552832972033815`*^9}, { - 3.7554173810299163`*^9, 3.755417381886033*^9}, 3.7747954639963675`*^9, - 3.774861381726017*^9, 3.77486191225311*^9, - 3.7803133814542294`*^9},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or -1). The flow is either 0 or one in one time \ -step. The vawe variables cel1 and cel2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, - 3.7554173947018223`*^9, - 3.774861381726017*^9},ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-\ -50747d0f7dcb"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7540475704265985`*^9, - 3.754047583132675*^9}, {3.755283262173503*^9, 3.755283264773819*^9}, { - 3.755417376704378*^9, 3.75541737766938*^9}, {3.755417462599818*^9, - 3.755417466808478*^9}, 3.774795466549244*^9, 3.7748613817270155`*^9, { - 3.774861919274185*^9, 3.7748619298823028`*^9}, {3.774892217455916*^9, - 3.7748922180483685`*^9}}, - CellLabel-> - "In[311]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, - 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, - 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, - 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { - 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, - 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, - 3.780313676948842*^9, 3.780321747089079*^9}, - CellLabel-> - "Out[316]=",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "17", ",", "19", ",", "22", ",", - "27.0890793`9.185369160057958"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, - 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, - 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, - 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { - 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, - 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, - 3.780313676948842*^9, 3.7803217471047015`*^9}, - CellLabel-> - "Out[320]=",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748642032354603`*^9, 3.7748642103278923`*^9}}, - CellLabel-> - "In[321]:=",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "1.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.75404759400323*^9, - 3.7540477190914407`*^9, 3.7553242534686055`*^9, 3.7748613817270155`*^9, - 3.77486769495127*^9, 3.7748928260322795`*^9, {3.7803134756519003`*^9, - 3.7803134759010286`*^9}}, - CellLabel-> - "In[322]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.780313538092991*^9, 3.7803135406627865`*^9}, { - 3.780313660202917*^9, 3.780313667247159*^9}}, - CellLabel-> - "In[323]:=",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7803136602039175`*^9, 3.780313667247159*^9}}, - CellLabel-> - "In[324]:=",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "oldEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7554635581691155`*^9, 3.7554636200383286`*^9}, - 3.7748613817270155`*^9, {3.7803136602039175`*^9, 3.7803136672481318`*^9}}, - CellLabel-> - "In[325]:=",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn1", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", " ", "oldEvent"}], "-", "spn1", "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "\[Equal]", "event"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.7540475984872904`*^9, 3.7540476129458995`*^9}, { - 3.7540476910155144`*^9, 3.754047691685115*^9}, 3.7554173893183746`*^9, - 3.7554174592942257`*^9, {3.7554635125221767`*^9, 3.755463526263009*^9}, - 3.7747954957200775`*^9, {3.774795527795559*^9, 3.7747955286187067`*^9}, - 3.7748613817270155`*^9, {3.774864588216931*^9, 3.774864591940977*^9}, { - 3.78031356706925*^9, 3.780313572399868*^9}, {3.7803136602059264`*^9, - 3.7803136672481318`*^9}, {3.780321712750452*^9, 3.780321722472545*^9}}, - CellLabel-> - "In[326]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7748613817290125`*^9, 3.7748646059877806`*^9, {3.7803136602059264`*^9, - 3.7803136672481318`*^9}}, - CellLabel-> - "In[327]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,327, - 105,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217478282585`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,106,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748046993*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,327,107,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217480626173`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,108,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217480938644`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,327,109,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748265729*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,110,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748281352*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,327,111,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217482969747`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] -}, -WindowSize->{1191, 801}, -WindowMargins->{{Automatic, 50}, {Automatic, 18}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 657, 13, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1895, 53, 928, 14, 32, "Output",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2826, 69, 537, 12, 28, "Input",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3366, 83, 351, 5, 32, "Output",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3720, 90, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4026, 99, 562, 9, 67, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4591, 110, 473, 9, 56, "Text",ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-50747d0f7dcb", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5067, 121, 1932, 42, 200, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7002, 165, 780, 12, 32, "Output",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7785, 179, 849, 15, 32, "Output",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8637, 196, 275, 6, 28, "Input",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8915, 204, 776, 15, 67, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9694, 221, 559, 13, 67, "Input",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10256, 236, 515, 12, 67, "Input",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10774, 250, 587, 13, 67, "Input",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11364, 265, 1523, 27, 86, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12890, 294, 326, 7, 28, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[13231, 304, 5844, 85, 112, "Message",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], -Cell[19078, 391, 798, 15, 21, "Message",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], -Cell[19879, 408, 942, 18, 21, "Message",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], -Cell[20824, 428, 800, 15, 21, "Message",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], -Cell[21627, 445, 940, 18, 21, "Message",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], -Cell[22570, 465, 798, 15, 21, "Message",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], -Cell[23371, 482, 872, 16, 21, "Message",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 28067, 560] +NotebookOptionsPosition[ 24247, 500] +NotebookOutlinePosition[ 24668, 516] +CellTagsIndexPosition[ 24625, 513] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel-> + "In[289]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, 3.7748679214756083`*^9}, + CellLabel-> + "In[290]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.77479556374086*^9, + 3.7748613834299583`*^9, 3.7748619371199417`*^9, 3.7748642131804657`*^9, + 3.7748645633975315`*^9, {3.7748645970573945`*^9, 3.774864607918788*^9}, + 3.774867703652725*^9, 3.774867926791222*^9, 3.774892832598035*^9, + 3.775317869629486*^9, 3.7803136766181493`*^9}, + CellLabel-> + "Out[290]=",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.780313242636645*^9}, + CellLabel-> + "In[291]:=",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.780313676730456*^9, 3.780322390417487*^9}, + CellLabel-> + "Out[291]=",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel-> + "In[310]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Initiate", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.754047538282405*^9, + 3.754047549959265*^9}, {3.7552832968927016`*^9, 3.7552832972033815`*^9}, { + 3.7554173810299163`*^9, 3.755417381886033*^9}, 3.7747954639963675`*^9, + 3.774861381726017*^9, 3.77486191225311*^9, + 3.7803133814542294`*^9},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ +a48708ad9847"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or -1). The flow is either 0 or one in one time \ +step. The vawe variables cel1 and cel2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, + 3.7554173947018223`*^9, + 3.774861381726017*^9},ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-\ +50747d0f7dcb"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7540475704265985`*^9, + 3.754047583132675*^9}, {3.755283262173503*^9, 3.755283264773819*^9}, { + 3.755417376704378*^9, 3.75541737766938*^9}, {3.755417462599818*^9, + 3.755417466808478*^9}, 3.774795466549244*^9, 3.7748613817270155`*^9, { + 3.774861919274185*^9, 3.7748619298823028`*^9}, {3.774892217455916*^9, + 3.7748922180483685`*^9}}, + CellLabel-> + "In[311]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, + 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, + 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, + 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { + 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, + 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, + 3.780313676948842*^9, 3.780321747089079*^9}, + CellLabel-> + "Out[316]=",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "10", ",", "17", ",", "19", ",", "22", ",", + "27.0890793`9.185369160057958"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, + 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, + 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, + 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { + 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, + 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, + 3.780313676948842*^9, 3.7803217471047015`*^9}, + CellLabel-> + "Out[320]=",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"state", "=."}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7748642032354603`*^9, 3.7748642103278923`*^9}}, + CellLabel-> + "In[321]:=",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "1.", ",", "\"\\""}], "]"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.75404759400323*^9, + 3.7540477190914407`*^9, 3.7553242534686055`*^9, 3.7748613817270155`*^9, + 3.77486769495127*^9, 3.7748928260322795`*^9, {3.7803134756519003`*^9, + 3.7803134759010286`*^9}}, + CellLabel-> + "In[322]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.780313538092991*^9, 3.7803135406627865`*^9}, { + 3.780313660202917*^9, 3.780313667247159*^9}}, + CellLabel-> + "In[323]:=",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7803136602039175`*^9, 3.780313667247159*^9}}, + CellLabel-> + "In[324]:=",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "oldEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7554635581691155`*^9, 3.7554636200383286`*^9}, + 3.7748613817270155`*^9, {3.7803136602039175`*^9, 3.7803136672481318`*^9}}, + CellLabel-> + "In[325]:=",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn1", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", " ", "oldEvent"}], "-", "spn1", "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "\[Equal]", "event"}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.7540475984872904`*^9, 3.7540476129458995`*^9}, { + 3.7540476910155144`*^9, 3.754047691685115*^9}, 3.7554173893183746`*^9, + 3.7554174592942257`*^9, {3.7554635125221767`*^9, 3.755463526263009*^9}, + 3.7747954957200775`*^9, {3.774795527795559*^9, 3.7747955286187067`*^9}, + 3.7748613817270155`*^9, {3.774864588216931*^9, 3.774864591940977*^9}, { + 3.78031356706925*^9, 3.780313572399868*^9}, {3.7803136602059264`*^9, + 3.7803136672481318`*^9}, {3.780321712750452*^9, 3.780321722472545*^9}}, + CellLabel-> + "In[326]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7748613817290125`*^9, 3.7748646059877806`*^9, {3.7803136602059264`*^9, + 3.7803136672481318`*^9}}, + CellLabel-> + "In[327]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"] +}, Open ]], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ +\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ +\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ +\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,327, + 105,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217478282585`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,106,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748046993*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,327,107,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217480626173`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,108,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217480938644`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,327,109,18988733202671857145, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748265729*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,327,110,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.780321748281352*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,327,111,18988733202671857145,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, + 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, + 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, + 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, + 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, + 3.7803217482969747`*^9}, + CellLabel-> + "During evaluation of \ +In[327]:=",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] +}, +WindowSize->{1191, 801}, +WindowMargins->{{Automatic, 50}, {Automatic, 18}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1235, 38, 657, 13, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1895, 53, 928, 14, 32, "Output",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2826, 69, 537, 12, 28, "Input",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3366, 83, 351, 5, 32, "Output",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3720, 90, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4026, 99, 562, 9, 67, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4591, 110, 473, 9, 56, "Text",ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-50747d0f7dcb", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5067, 121, 1932, 42, 200, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7002, 165, 780, 12, 32, "Output",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7785, 179, 849, 15, 32, "Output",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8637, 196, 275, 6, 28, "Input",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8915, 204, 776, 15, 67, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9694, 221, 559, 13, 67, "Input",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10256, 236, 515, 12, 67, "Input",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10774, 250, 587, 13, 67, "Input",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11364, 265, 1523, 27, 86, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12890, 294, 326, 7, 28, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[13231, 304, 5844, 85, 112, "Message",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], +Cell[19078, 391, 798, 15, 21, "Message",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], +Cell[19879, 408, 942, 18, 21, "Message",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], +Cell[20824, 428, 800, 15, 21, "Message",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], +Cell[21627, 445, 940, 18, 21, "Message",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], +Cell[22570, 465, 798, 15, 21, "Message",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], +Cell[23371, 482, 872, 16, 21, "Message",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml index 213ddd0..ceefccf 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramInitiateState.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp index f238d31..310bfd2 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp @@ -1,181 +1,181 @@ -#ifndef ACTIVITYDIAGRAMJOIN_HPP_INCLUDED -#define ACTIVITYDIAGRAMJOIN_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramJoin.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 27 Nov 2019 12:38:02 -//! @brief And for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin.nb*/ - -using namespace hopsan; - -class ActivityDiagramJoin : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent3; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramJoin(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on \ -value)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "event3, trigg on level(0) or \ -flank(1)", "", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent3 = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn3 = onPositive(event)*onPositive(-0.5 + spn1*spn2 - spn3); - qpn1 = -qpn3; - qpn2 = -qpn3; - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMJOIN_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMJOIN_HPP_INCLUDED +#define ACTIVITYDIAGRAMJOIN_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramJoin.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Wed 27 Nov 2019 12:38:02 +//! @brief And for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin.nb*/ + +using namespace hopsan; + +class ActivityDiagramJoin : public ComponentQ +{ +private: + double diffEvent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event; + //outputVariables + //Expressions variables + double dEvent3; + double oldEvent; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent; + //inputParameters pointers + double *mpdiffEvent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramJoin(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event","event (trigg on \ +value)","",1.,&mpevent); + + //Add inputParammeters to the component + addInputVariable("diffEvent", "event3, trigg on level(0) or \ +flank(1)", "", 0.,&mpdiffEvent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event = (*mpevent); + + //Read inputParameters from nodes + diffEvent = (*mpdiffEvent); + + //LocalExpressions + + //Expressions + dEvent3 = onPositive(-0.5 + event - diffEvent*oldEvent); + qpn3 = onPositive(event)*onPositive(-0.5 + spn1*spn2 - spn3); + qpn1 = -qpn3; + qpn2 = -qpn3; + oldEvent = event; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMJOIN_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb index 63304f2..6f6d853 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb @@ -1,661 +1,661 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 34515, 653] -NotebookOptionsPosition[ 30159, 583] -NotebookOutlinePosition[ 30580, 599] -CellTagsIndexPosition[ 30537, 596] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[20]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel->"In[21]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, - 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, - 3.7760688056377096`*^9, 3.7760689017746077`*^9, 3.776070944721018*^9, - 3.7760710374873853`*^9, 3.776071235541223*^9, 3.783843343493267*^9, - 3.783843481153901*^9}, - CellLabel->"Out[21]=",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - CellLabel->"In[22]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7838434814297028`*^9}, - CellLabel->"Out[22]=",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}, - 3.783843477517951*^9}, - CellLabel->"In[23]:=",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, - 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, - 3.7760688056656814`*^9, 3.7760689018006496`*^9, 3.776070944758975*^9, - 3.7760710375243483`*^9, 3.776071235580185*^9, 3.783843343561288*^9, - 3.783843481583459*^9}, - CellLabel->"Out[23]=",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[24]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Join", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, - 3.7552808064463525`*^9}, {3.7552808483581448`*^9, - 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { - 3.7747942042782946`*^9, - 3.774794220390111*^9}},ExpressionUUID->"088c7a70-e175-477e-9f3a-\ -655c7cd3370d"], - -Cell["\<\ -Join (AND) function. The flow is either 0 or one in one time step. The wave \ -variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { - 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, - 3.776068777840438*^9}},ExpressionUUID->"6f15cb33-9e39-488c-92cb-\ -ee7ba955af67"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "coauthor", "=", - "\"\, Emilia Villani\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550215020570135`*^9, - 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { - 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, - 3.77479422293149*^9}, 3.775317780594391*^9, 3.777541563880372*^9}, - CellLabel->"In[25]:=",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "27", ",", "12", ",", "38", ",", - "1.7487194`7.995295114488466"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068805716628*^9, - 3.776068901851528*^9, 3.776070944831899*^9, 3.776071037595276*^9, - 3.7760712356561046`*^9, 3.7838433436544056`*^9, 3.783843481879754*^9}, - CellLabel->"Out[34]=",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7775415451696653`*^9, 3.777541546479336*^9}}, - CellLabel->"In[35]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", " ", "double", ",", "\"\<\>\"", ",", " ", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { - 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, - 3.7760703432387514`*^9}, {3.7760708301710997`*^9, - 3.7760708408820567`*^9}, {3.777541777142488*^9, 3.777541778549036*^9}, { - 3.7775420129573493`*^9, 3.777542016173033*^9}, {3.7838431937936945`*^9, - 3.7838432010782948`*^9}, 3.78384324873831*^9, 3.783843325635455*^9}, - CellLabel->"In[36]:=",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.7760708823393207`*^9, 3.776070932245875*^9}}, - CellLabel->"In[37]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent3", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{ - RowBox[{"onPositive", "[", "event", "]"}], - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, - 3.7550317139985056`*^9}, {3.7643431906677704`*^9, - 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, - 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { - 3.7760686995462093`*^9, 3.7760687190331187`*^9}, {3.7760703616637583`*^9, - 3.7760703689012976`*^9}, {3.776070858269133*^9, 3.7760708754684024`*^9}, - 3.7760710313776875`*^9, {3.776071229952984*^9, 3.77607123253732*^9}, { - 3.7838432101168375`*^9, 3.78384323494664*^9}}, - CellLabel->"In[38]:=",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942042813015`*^9}, - CellLabel->"In[39]:=",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\ -\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ -\\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\ -\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,39,15,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434831797385`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,16,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434832734795`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 39,17,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434835859594`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,18,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434836328306`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,39,19,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839296846`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,20,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839765563`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,39,21,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484007804*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 39,22,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434840390525`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,39,23,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484398402*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0"] -}, Open ]] -}, -WindowSize->{827, 636}, -WindowMargins->{{262, Automatic}, {Automatic, 47}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1231, 21, 48, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2465, 60, 890, 13, 32, "Output",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3358, 75, 819, 15, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[4192, 93, 270, 3, 32, "Output",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], -Cell[CellGroupData[{ -Cell[4487, 100, 862, 16, 48, "Input",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5352, 118, 918, 13, 32, "Output",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6273, 133, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6575, 141, 595, 10, 67, "Section",ExpressionUUID->"088c7a70-e175-477e-9f3a-655c7cd3370d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7173, 153, 504, 9, 34, "Text",ExpressionUUID->"6f15cb33-9e39-488c-92cb-ee7ba955af67", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7680, 164, 1878, 41, 200, "Input",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9561, 207, 937, 15, 32, "Output",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10501, 224, 1121, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11625, 247, 1235, 21, 67, "Input",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12863, 270, 941, 17, 67, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13807, 289, 2054, 39, 143, "Input",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15864, 330, 241, 4, 28, "Input",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16108, 336, 5130, 75, 130, "Message",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[21241, 413, 1039, 18, 21, "Message",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22283, 433, 1181, 20, 21, "Message",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23467, 455, 1039, 18, 21, "Message",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24509, 475, 1181, 21, 21, "Message",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25693, 498, 1039, 18, 21, "Message",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26735, 518, 1109, 19, 21, "Message",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27847, 539, 1181, 20, 21, "Message",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29031, 561, 1112, 19, 21, "Message",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 34515, 653] +NotebookOptionsPosition[ 30159, 583] +NotebookOutlinePosition[ 30580, 599] +CellTagsIndexPosition[ 30537, 596] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, + 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ +36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + CellLabel->"In[20]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + CellLabel->"In[21]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, + 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, + 3.7760688056377096`*^9, 3.7760689017746077`*^9, 3.776070944721018*^9, + 3.7760710374873853`*^9, 3.776071235541223*^9, 3.783843343493267*^9, + 3.783843481153901*^9}, + CellLabel->"Out[21]=",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + CellLabel->"In[22]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] +}, Open ]], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellChangeTimes->{3.7838434814297028`*^9}, + CellLabel->"Out[22]=",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}, + 3.783843477517951*^9}, + CellLabel->"In[23]:=",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, + 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, + 3.7760688056656814`*^9, 3.7760689018006496`*^9, 3.776070944758975*^9, + 3.7760710375243483`*^9, 3.776071235580185*^9, 3.783843343561288*^9, + 3.783843481583459*^9}, + CellLabel->"Out[23]=",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + CellLabel->"In[24]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Join", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, + 3.7552808064463525`*^9}, {3.7552808483581448`*^9, + 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { + 3.7747942042782946`*^9, + 3.774794220390111*^9}},ExpressionUUID->"088c7a70-e175-477e-9f3a-\ +655c7cd3370d"], + +Cell["\<\ +Join (AND) function. The flow is either 0 or one in one time step. The wave \ +variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { + 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, + 3.776068777840438*^9}},ExpressionUUID->"6f15cb33-9e39-488c-92cb-\ +ee7ba955af67"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{ + RowBox[{ + "coauthor", "=", + "\"\, Emilia Villani\>\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550215020570135`*^9, + 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { + 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, + 3.77479422293149*^9}, 3.775317780594391*^9, 3.777541563880372*^9}, + CellLabel->"In[25]:=",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "11", ",", "27", ",", "12", ",", "38", ",", + "1.7487194`7.995295114488466"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068805716628*^9, + 3.776068901851528*^9, 3.776070944831899*^9, 3.776071037595276*^9, + 3.7760712356561046`*^9, 3.7838433436544056`*^9, 3.783843481879754*^9}, + CellLabel->"Out[34]=",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7775415451696653`*^9, 3.777541546479336*^9}}, + CellLabel->"In[35]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event", ",", "1.", ",", " ", "double", ",", "\"\<\>\"", ",", " ", + "\"\\""}], "}"}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { + 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, + 3.7760703432387514`*^9}, {3.7760708301710997`*^9, + 3.7760708408820567`*^9}, {3.777541777142488*^9, 3.777541778549036*^9}, { + 3.7775420129573493`*^9, 3.777542016173033*^9}, {3.7838431937936945`*^9, + 3.7838432010782948`*^9}, 3.78384324873831*^9, 3.783843325635455*^9}, + CellLabel->"In[36]:=",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.7760708823393207`*^9, 3.776070932245875*^9}}, + CellLabel->"In[37]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent3", "==", + RowBox[{"onPositive", "[", + RowBox[{"event", "-", + RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{ + RowBox[{"onPositive", "[", "event", "]"}], + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, + 3.7550317139985056`*^9}, {3.7643431906677704`*^9, + 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, + 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { + 3.7760686995462093`*^9, 3.7760687190331187`*^9}, {3.7760703616637583`*^9, + 3.7760703689012976`*^9}, {3.776070858269133*^9, 3.7760708754684024`*^9}, + 3.7760710313776875`*^9, {3.776071229952984*^9, 3.77607123253732*^9}, { + 3.7838432101168375`*^9, 3.78384323494664*^9}}, + CellLabel->"In[38]:=",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942042813015`*^9}, + CellLabel->"In[39]:=",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ +\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\ +\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ +\\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ +\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\ +\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,39,15,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434831797385`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,16,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434832734795`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 39,17,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434835859594`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,18,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434836328306`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,39,19,19014042857157888424, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839296846`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,39,20,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839765563`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,39,21,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484007804*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 39,22,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434840390525`*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,39,23,19014042857157888424,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, + 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, + 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484398402*^9}, + CellLabel-> + "During evaluation of \ +In[39]:=",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0"] +}, Open ]] +}, +WindowSize->{827, 636}, +WindowMargins->{{262, Automatic}, {Automatic, 47}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1231, 37, 1231, 21, 48, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2465, 60, 890, 13, 32, "Output",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3358, 75, 819, 15, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]], +Cell[4192, 93, 270, 3, 32, "Output",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], +Cell[CellGroupData[{ +Cell[4487, 100, 862, 16, 48, "Input",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5352, 118, 918, 13, 32, "Output",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6273, 133, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6575, 141, 595, 10, 67, "Section",ExpressionUUID->"088c7a70-e175-477e-9f3a-655c7cd3370d", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7173, 153, 504, 9, 34, "Text",ExpressionUUID->"6f15cb33-9e39-488c-92cb-ee7ba955af67", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[7680, 164, 1878, 41, 200, "Input",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9561, 207, 937, 15, 32, "Output",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10501, 224, 1121, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11625, 247, 1235, 21, 67, "Input",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12863, 270, 941, 17, 67, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13807, 289, 2054, 39, 143, "Input",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15864, 330, 241, 4, 28, "Input",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[16108, 336, 5130, 75, 130, "Message",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[21241, 413, 1039, 18, 21, "Message",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22283, 433, 1181, 20, 21, "Message",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23467, 455, 1039, 18, 21, "Message",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24509, 475, 1181, 21, 21, "Message",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25693, 498, 1039, 18, 21, "Message",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26735, 518, 1109, 19, 21, "Message",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27847, 539, 1181, 20, 21, "Message",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29031, 561, 1112, 19, 21, "Message",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml index da6236e..800e4d5 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp index f80b60c..8d18d3a 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp @@ -1,165 +1,165 @@ -#ifndef ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED -#define ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramJoin0.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 29 Aug 2019 14:48:02 -//! @brief And for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin0.nb*/ - -using namespace hopsan; - -class ActivityDiagramJoin0 : public ComponentQ -{ -private: - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramJoin0(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - qpn3 = onPositive(-0.5 + spn1*spn2 - spn3); - qpn1 = -qpn3; - qpn2 = -qpn3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED +#define ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramJoin0.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 29 Aug 2019 14:48:02 +//! @brief And for a state machine +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin0.nb*/ + +using namespace hopsan; + +class ActivityDiagramJoin0 : public ComponentQ +{ +private: + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramJoin0(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + qpn3 = onPositive(-0.5 + spn1*spn2 - spn3); + qpn1 = -qpn3; + qpn2 = -qpn3; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb index 91f5597..7d5fe3b 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb @@ -1,726 +1,726 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 37541, 718] -NotebookOptionsPosition[ 34350, 643] -NotebookOutlinePosition[ 34778, 659] -CellTagsIndexPosition[ 34735, 656] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, - 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, - 3.776068537628119*^9, 3.776068854606236*^9, 3.7760688870627756`*^9, - 3.7760712654763637`*^9, 3.776071318759997*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, - 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, - 3.7760685376510963`*^9, 3.776068854630206*^9, 3.776068887090747*^9, - 3.7760712655133266`*^9, 3.7760713187989573`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Join", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, - 3.7552808064463525`*^9}, {3.7552808483581448`*^9, - 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { - 3.7747942042782946`*^9, 3.774794220390111*^9}}, - ExpressionUUID -> "088c7a70-e175-477e-9f3a-655c7cd3370d"], - -Cell["\<\ -Join (AND) function. The flow is either 0 or one in one time step. The wave \ -variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { - 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, - 3.776068777840438*^9}}, - ExpressionUUID -> "6f15cb33-9e39-488c-92cb-ee7ba955af67"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550215020570135`*^9, - 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { - 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, - 3.77479422293149*^9}, 3.775317780594391*^9, 3.7760685292677374`*^9}, - ExpressionUUID -> "9335b084-863b-47bb-bc84-c039b71d3a5b"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, - 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, - 3.776071318870884*^9}, - ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "29", ",", "14", ",", "41", ",", - "58.8419153`9.522261631502142"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, - 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, - 3.776071318874879*^9}, - ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell["\<\ -inputVariables = { - {event3, 1., double, \"event3 (trigg on value )\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { - 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, - 3.7760703432387514`*^9}, {3.7760708301710997`*^9, 3.7760708408820567`*^9}, - 3.7760712575515366`*^9, 3.7760713073891582`*^9}, - ExpressionUUID -> "2cb343b4-4a02-4069-b70f-d2246ecff4f8"], - -Cell["\<\ -inputParameters = { - {diffEvent, 0., double, \"\", \"event3, trigg on level(0) or flank(1)\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.7760708823393207`*^9, 3.776070932245875*^9}, 3.7760713073891582`*^9}, - ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{"-", "qpn3"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, - 3.7550317139985056`*^9}, {3.7643431906677704`*^9, - 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, - 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { - 3.7760711621119175`*^9, 3.7760711710417137`*^9}, {3.7760713129034986`*^9, - 3.7760713150632772`*^9}, 3.7760716703887568`*^9}, - ExpressionUUID -> "5c2a5e25-e670-491c-933e-302886292168"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942042813015`*^9}, - ExpressionUUID -> "91b365df-e70c-494b-bfc9-f2101325390a"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,141, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319029719*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,142, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713190656815`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,143, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713190946517`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ -\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,254,144,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319123622*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramJoin0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ -\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"me\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\ -\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ -\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,254,145,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319149595*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,146,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713191805625`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 254,147,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319207535*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,148,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319233508*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,254,149,16172176550883650673, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713192584825`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,150,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713192844553`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,254,151,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319310429*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 254,152,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713193374023`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,254,153,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319361377*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"] -}, Open ]] -}, -WindowSize->{1224, 632}, -WindowMargins->{{Automatic, 236}, {Automatic, 138}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 820, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3247, 73, 799, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4049, 90, 848, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4900, 104, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5182, 112, 593, 9, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5778, 123, 506, 9, 30, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6287, 134, 1838, 39, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8128, 175, 807, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8938, 189, 873, 15, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9814, 206, 1049, 20, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10866, 228, 866, 15, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11735, 245, 755, 13, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12493, 260, 1543, 29, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14039, 291, 221, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14263, 297, 1520, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15786, 323, 1522, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17311, 349, 1522, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18836, 375, 1018, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19857, 394, 6272, 93, 95, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26132, 489, 952, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27087, 507, 1092, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28182, 527, 950, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29135, 545, 1094, 19, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30232, 566, 952, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31187, 584, 1022, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[32212, 603, 1094, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[33309, 623, 1025, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 37541, 718] +NotebookOptionsPosition[ 34350, 643] +NotebookOutlinePosition[ 34778, 659] +CellTagsIndexPosition[ 34735, 656] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, + 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, + 3.776068537628119*^9, 3.776068854606236*^9, 3.7760688870627756`*^9, + 3.7760712654763637`*^9, 3.776071318759997*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, + 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, + 3.7760685376510963`*^9, 3.776068854630206*^9, 3.776068887090747*^9, + 3.7760712655133266`*^9, 3.7760713187989573`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Join", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, + 3.7552808064463525`*^9}, {3.7552808483581448`*^9, + 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { + 3.7747942042782946`*^9, 3.774794220390111*^9}}, + ExpressionUUID -> "088c7a70-e175-477e-9f3a-655c7cd3370d"], + +Cell["\<\ +Join (AND) function. The flow is either 0 or one in one time step. The wave \ +variables spn1 and spn2 are either 0 or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { + 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, + 3.776068777840438*^9}}, + ExpressionUUID -> "6f15cb33-9e39-488c-92cb-ee7ba955af67"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550215020570135`*^9, + 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { + 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, + 3.77479422293149*^9}, 3.775317780594391*^9, 3.7760685292677374`*^9}, + ExpressionUUID -> "9335b084-863b-47bb-bc84-c039b71d3a5b"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, + 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, + 3.776071318870884*^9}, + ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "29", ",", "14", ",", "41", ",", + "58.8419153`9.522261631502142"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, + 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, + 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { + 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, + 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, + 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, + 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, + 3.776071318874879*^9}, + ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell["\<\ +inputVariables = { + {event3, 1., double, \"event3 (trigg on value )\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { + 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, + 3.7760703432387514`*^9}, {3.7760708301710997`*^9, 3.7760708408820567`*^9}, + 3.7760712575515366`*^9, 3.7760713073891582`*^9}, + ExpressionUUID -> "2cb343b4-4a02-4069-b70f-d2246ecff4f8"], + +Cell["\<\ +inputParameters = { + {diffEvent, 0., double, \"\", \"event3, trigg on level(0) or flank(1)\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, + 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { + 3.7760708823393207`*^9, 3.776070932245875*^9}, 3.7760713073891582`*^9}, + ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{"-", "qpn3"}]}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, + 3.7550317139985056`*^9}, {3.7643431906677704`*^9, + 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, + 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { + 3.7760711621119175`*^9, 3.7760711710417137`*^9}, {3.7760713129034986`*^9, + 3.7760713150632772`*^9}, 3.7760716703887568`*^9}, + ExpressionUUID -> "5c2a5e25-e670-491c-933e-302886292168"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747942042813015`*^9}, + ExpressionUUID -> "91b365df-e70c-494b-bfc9-f2101325390a"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,141, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319029719*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,142, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713190656815`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Part","partd", + "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ +\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ +RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ +\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ +\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ +\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ +\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ +\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ +\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,143, + 16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713190946517`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ +\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,254,144,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319123622*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramJoin0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ +\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ +\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ +\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ +\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ +\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ +\\\"\\\\\\\"me\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\ +\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", \ +RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ +\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ +\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ +\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,254,145,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319149595*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,146,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713191805625`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 254,147,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319207535*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,148,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319233508*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,254,149,16172176550883650673, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713192584825`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,254,150,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713192844553`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,254,151,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319310429*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 254,152,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.7760713193374023`*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,254,153,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, + 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, + 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { + 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, + 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, + 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, + 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, + 3.776071319361377*^9}, + ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"] +}, Open ]] +}, +WindowSize->{1224, 632}, +WindowMargins->{{Automatic, 236}, {Automatic, 138}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 820, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3247, 73, 799, 15, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4049, 90, 848, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4900, 104, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5182, 112, 593, 9, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5778, 123, 506, 9, 30, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6287, 134, 1838, 39, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8128, 175, 807, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8938, 189, 873, 15, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9814, 206, 1049, 20, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10866, 228, 866, 15, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11735, 245, 755, 13, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[12493, 260, 1543, 29, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14039, 291, 221, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14263, 297, 1520, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15786, 323, 1522, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[17311, 349, 1522, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18836, 375, 1018, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19857, 394, 6272, 93, 95, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26132, 489, 952, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27087, 507, 1092, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28182, 527, 950, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29135, 545, 1094, 19, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30232, 566, 952, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31187, 584, 1022, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[32212, 603, 1094, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[33309, 623, 1025, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml index d34bed0..07b0a3c 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin0.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoin1.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.xml similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramJoinN.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.xml diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc index 73dc845..1486b25 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.cc +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc @@ -1,51 +1,51 @@ -#include -#include "ComponentEssentials.h" -#include "ActivityDiagramInitiateState.hpp" -#include "ActivityDiagramEdge.hpp" -#include "ActivityDiagramAction.hpp" -#include "ActivityDiagramActionN.hpp" -#include "ActivityDiagramDecision.hpp" -#include "ActivityDiagramForkN.hpp" -#include "ActivityDiagramJoinN.hpp" -#include "ActivityDiagramMergeN.hpp" -#include "ActivityDiagramFork.hpp" -#include "ActivityDiagramJoin0.hpp" -#include "ActivityDiagramJoin.hpp" -#include "ActivityDiagramMerge0.hpp" -#include "ActivityDiagramMerge.hpp" -#include "ActivityDiagramMergeN.hpp" -#include "ActivityDiagramFinal.hpp" -#include "ActivityDiagramFinalNode.hpp" - -using namespace hopsan; - -extern "C" DLLEXPORT void register_contents(ComponentFactory* pComponentFactory, NodeFactory* pNodeFactory) -{ - //Register Components - pComponentFactory->registerCreatorFunction("ActivityDiagramInitiateState", ActivityDiagramInitiateState::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramEdge", ActivityDiagramEdge::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramAction", ActivityDiagramAction::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramActionN", ActivityDiagramActionN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramDecision", ActivityDiagramDecision::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramForkN", ActivityDiagramForkN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoinN", ActivityDiagramJoinN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFork", ActivityDiagramFork::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoin0", ActivityDiagramJoin0::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoin", ActivityDiagramJoin::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMerge0", ActivityDiagramMerge0::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMerge", ActivityDiagramMerge::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFinal", ActivityDiagramFinal::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFinalNode", ActivityDiagramFinalNode::Creator); - - //Register custom nodes (if any) - HOPSAN_UNUSED(pNodeFactory); -} - -extern "C" DLLEXPORT void get_hopsan_info(HopsanExternalLibInfoT *pHopsanExternalLibInfo) -{ - pHopsanExternalLibInfo->hopsanCoreVersion = (char*)HOPSANCOREVERSION; - pHopsanExternalLibInfo->libCompiledDebugRelease = (char*)DEBUGRELEASECOMPILED; - pHopsanExternalLibInfo->libName = (char*)"ActivityDiagramLibrary"; -} +#include +#include "ComponentEssentials.h" +#include "ActivityDiagramInitiateState.hpp" +#include "ActivityDiagramEdge.hpp" +#include "ActivityDiagramAction.hpp" +#include "ActivityDiagramActionN.hpp" +#include "ActivityDiagramDecision.hpp" +#include "ActivityDiagramForkN.hpp" +#include "ActivityDiagramJoinN.hpp" +#include "ActivityDiagramMergeN.hpp" +#include "ActivityDiagramFork.hpp" +#include "ActivityDiagramJoin0.hpp" +#include "ActivityDiagramJoin.hpp" +#include "ActivityDiagramMerge0.hpp" +#include "ActivityDiagramMerge.hpp" +#include "ActivityDiagramMergeN.hpp" +#include "ActivityDiagramFinal.hpp" +#include "ActivityDiagramFinalNode.hpp" + +using namespace hopsan; + +extern "C" DLLEXPORT void register_contents(ComponentFactory* pComponentFactory, NodeFactory* pNodeFactory) +{ + //Register Components + pComponentFactory->registerCreatorFunction("ActivityDiagramInitiateState", ActivityDiagramInitiateState::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramEdge", ActivityDiagramEdge::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramAction", ActivityDiagramAction::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramActionN", ActivityDiagramActionN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramDecision", ActivityDiagramDecision::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramForkN", ActivityDiagramForkN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoinN", ActivityDiagramJoinN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFork", ActivityDiagramFork::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoin0", ActivityDiagramJoin0::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramJoin", ActivityDiagramJoin::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMerge0", ActivityDiagramMerge0::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMerge", ActivityDiagramMerge::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFinal", ActivityDiagramFinal::Creator); + pComponentFactory->registerCreatorFunction("ActivityDiagramFinalNode", ActivityDiagramFinalNode::Creator); + + //Register custom nodes (if any) + HOPSAN_UNUSED(pNodeFactory); +} + +extern "C" DLLEXPORT void get_hopsan_info(HopsanExternalLibInfoT *pHopsanExternalLibInfo) +{ + pHopsanExternalLibInfo->hopsanCoreVersion = (char*)HOPSANCOREVERSION; + pHopsanExternalLibInfo->libCompiledDebugRelease = (char*)DEBUGRELEASECOMPILED; + pHopsanExternalLibInfo->libName = (char*)"ActivityDiagramLibrary"; +} diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.dll b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.dll similarity index 99% rename from ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.dll rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.dll index b522a19f3593b385449bb689165606e3178e9e84..336048da3e832f1187dc24e1cdcfa86732535f83 100644 GIT binary patch delta 71 zcmX?eUGU6x!3iDAZ{GAw?Dl19yxDkb>n+Au4na#jLp>t{BSS+&15-UCLsNt89-NGO XLO=@J+2a_2m}kBU^%i3+hoFU?fu50pk)eT+k*OY#ve@py$+#y3 Vq_CYmjuD8NfS7qZdmPJAUI6~o83+IX diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro index 15ce27e..7ed85d8 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.pro +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro @@ -1,50 +1,50 @@ -# QT -= core gui, means that we should not link the default qt libs into the component -# Template = lib, means that we want to build a library (.dll or .so) -QT -= core gui -TEMPLATE = lib - -# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) -# Change this to the name of YOUR lib -TARGET = devTestLib - -# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build -DESTDIR = $${PWD}/ - -# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files -# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. -# *= Means append unique -INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ - -# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library -LIBS *= -L$${PWD}/../../../bin - -# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so -# In debug mode HopsanCore has the debug extension _d -include(hopsanDebugReleaseCompile.prf) - -# ------------------------------------------------- -# Project files -# ------------------------------------------------- -SOURCES += \ - TestLib.cc - -HEADERS += \ - ActivityDiagramInitiateState.hpp - ActivityDiagramEdge.hpp - ActivityDiagramActionN.hpp - ActivityDiagramAction.hpp - ActivityDiagramDecision.hpp - ActivityDiagramJoinN.hpp - ActivityDiagramForkN.hpp - ActivityDiagramJoin0.hpp - ActivityDiagramJoin.hpp - ActivityDiagramFork.hpp - ActivityDiagramMerge0.hpp - ActivityDiagramMerge.hpp - ActivityDiagramMergeN.hpp - ActivityDiagramFinal.hpp - ActivityDiagramFinalNode.hpp - - -OTHER_FILES += \ - hopsanDebugReleaseCompile.prf +# QT -= core gui, means that we should not link the default qt libs into the component +# Template = lib, means that we want to build a library (.dll or .so) +QT -= core gui +TEMPLATE = lib + +# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) +# Change this to the name of YOUR lib +TARGET = devTestLib + +# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build +DESTDIR = $${PWD}/ + +# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files +# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. +# *= Means append unique +INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ + +# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library +LIBS *= -L$${PWD}/../../../bin + +# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so +# In debug mode HopsanCore has the debug extension _d +include(hopsanDebugReleaseCompile.prf) + +# ------------------------------------------------- +# Project files +# ------------------------------------------------- +SOURCES += \ + TestLib.cc + +HEADERS += \ + ActivityDiagramInitiateState.hpp + ActivityDiagramEdge.hpp + ActivityDiagramActionN.hpp + ActivityDiagramAction.hpp + ActivityDiagramDecision.hpp + ActivityDiagramJoinN.hpp + ActivityDiagramForkN.hpp + ActivityDiagramJoin0.hpp + ActivityDiagramJoin.hpp + ActivityDiagramFork.hpp + ActivityDiagramMerge0.hpp + ActivityDiagramMerge.hpp + ActivityDiagramMergeN.hpp + ActivityDiagramFinal.hpp + ActivityDiagramFinalNode.hpp + + +OTHER_FILES += \ + hopsanDebugReleaseCompile.prf diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml similarity index 92% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml index e2a61b8..be04e13 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLib.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml @@ -1,42 +1,42 @@ - - - afd1b9b5-0b66-4d17-9e90-1da59a2be242 - ActivityDiagramLibrary - - -std=c++11 - - ActivityDiagramLibrary - ActivityDiagramLib.cc - - ActivityDiagramInitiateState.hpp - ActivityDiagramEdge.hpp - ActivityDiagramAction.hpp - ActivityDiagramActionN.hpp - ActivityDiagramDecision.hpp - ActivityDiagramForkN.hpp - ActivityDiagramJoinN.hpp - ActivityDiagramMergeN.hpp - ActivityDiagramFork.hpp - ActivityDiagramJoin0.hpp - ActivityDiagramJoin.hpp - ActivityDiagramMerge0.hpp - ActivityDiagramMerge.hpp - ActivityDiagramFinal.hpp - ActivityDiagramFinalNode.hpp - - ActivityDiagramInitiateState.xml - ActivityDiagramActionN.xml - ActivityDiagramAction.xml - ActivityDiagramDecision.xml - ActivityDiagramEdge.xml - ActivityDiagramFinalNode.xml - ActivityDiagramFinal.xml - ActivityDiagramForkN.xml - ActivityDiagramFork.xml - ActivityDiagramJoin0.xml - ActivityDiagramJoinN.xml - ActivityDiagramJoin.xml - ActivityDiagramMerge0.xml - ActivityDiagramMergeN.xml - ActivityDiagramMerge.xml - + + + afd1b9b5-0b66-4d17-9e90-1da59a2be242 + ActivityDiagramLib + + -std=c++11 + + ActivityDiagramLib + ActivityDiagramLib.cc + + ActivityDiagramInitiateState.hpp + ActivityDiagramEdge.hpp + ActivityDiagramAction.hpp + ActivityDiagramActionN.hpp + ActivityDiagramDecision.hpp + ActivityDiagramForkN.hpp + ActivityDiagramJoinN.hpp + ActivityDiagramMergeN.hpp + ActivityDiagramFork.hpp + ActivityDiagramJoin0.hpp + ActivityDiagramJoin.hpp + ActivityDiagramMerge0.hpp + ActivityDiagramMerge.hpp + ActivityDiagramFinal.hpp + ActivityDiagramFinalNode.hpp + + ActivityDiagramInitiateState.xml + ActivityDiagramActionN.xml + ActivityDiagramAction.xml + ActivityDiagramDecision.xml + ActivityDiagramEdge.xml + ActivityDiagramFinalNode.xml + ActivityDiagramFinal.xml + ActivityDiagramForkN.xml + ActivityDiagramFork.xml + ActivityDiagramJoin0.xml + ActivityDiagramJoinN.xml + ActivityDiagramJoin.xml + ActivityDiagramMerge0.xml + ActivityDiagramMergeN.xml + ActivityDiagramMerge.xml + diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagramLibrary.dll b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll similarity index 99% rename from ActivityDiagramLib/ActivityDiagramLib/ActivityDiagramLibrary.dll rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll index 2c51ca215e3532ba56a90a949b90f659843e1fa3..d69ff5bdc6be0abd4747bf159caa2e78499226eb 100644 GIT binary patch delta 49 zcmX?eUGU6x!3iBK>-M!LPVDhvVhL`%we=RGRxDVgog -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramMerge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 29 Aug 2019 14:30:46 -//! @brief Merge with triggers for activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramMerge.nb*/ - -using namespace hopsan; - -class ActivityDiagramMerge : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event1; - double event2; - //outputVariables - //InitialExpressions variables - double oldEvent1; - double oldEvent2; - //Expressions variables - double dEvent1; - double dEvent2; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent1; - double *mpevent2; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramMerge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event1","event 1 ","",1.,&mpevent1); - addInputVariable("event2","event 2 ","",1.,&mpevent2); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event1 = (*mpevent1); - event2 = (*mpevent2); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent1 = event1; - oldEvent2 = event2; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event1 = (*mpevent1); - event2 = (*mpevent2); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent1 = onPositive(-0.5 + event1 - diffevent*oldEvent1); - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - qpn1 = -(dEvent1*onPositive(-0.5 + spn1 - spn3)); - qpn2 = -(dEvent2*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2 - \ -spn3)); - qpn3 = onPositive(-0.5 + onPositive(-0.5 - qpn1) + onPositive(-0.5 - \ -qpn2)); - oldEvent1 = event1; - oldEvent2 = event2; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMMERGE_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMMERGE_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 29 Aug 2019 14:30:46 +//! @brief Merge with triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ +ActivityDiagram, ActivityDiagram}/ActivityDiagramMerge.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge : public ComponentQ +{ +private: + double diffevent; + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + double event1; + double event2; + //outputVariables + //InitialExpressions variables + double oldEvent1; + double oldEvent2; + //Expressions variables + double dEvent1; + double dEvent2; + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + double *mpevent1; + double *mpevent2; + //inputParameters pointers + double *mpdiffevent; + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + addInputVariable("event1","event 1 ","",1.,&mpevent1); + addInputVariable("event2","event 2 ","",1.,&mpevent2); + + //Add inputParammeters to the component + addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ +"", 0.,&mpdiffevent); + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + //InitialExpressions + oldEvent1 = event1; + oldEvent2 = event2; + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + event1 = (*mpevent1); + event2 = (*mpevent2); + + //Read inputParameters from nodes + diffevent = (*mpdiffevent); + + //LocalExpressions + + //Expressions + dEvent1 = onPositive(-0.5 + event1 - diffevent*oldEvent1); + dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); + qpn1 = -(dEvent1*onPositive(-0.5 + spn1 - spn3)); + qpn2 = -(dEvent2*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2 - \ +spn3)); + qpn3 = onPositive(-0.5 + onPositive(-0.5 - qpn1) + onPositive(-0.5 - \ +qpn2)); + oldEvent1 = event1; + oldEvent2 = event2; + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb index ff0a3a7..6a5895e 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb @@ -1,821 +1,821 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 42264, 813] -NotebookOptionsPosition[ 39039, 737] -NotebookOutlinePosition[ 39496, 754] -CellTagsIndexPosition[ 39453, 751] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.7747986777531595`*^9, 3.774798837507168*^9, 3.7748614276997967`*^9, - 3.7748619672501326`*^9, {3.7748622394111714`*^9, 3.774862251182107*^9}, - 3.7748623403373017`*^9, 3.7754917893881674`*^9, 3.776070646525416*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7747986777851257`*^9, 3.774798837541133*^9, 3.7748614277577357`*^9, - 3.7748619673110695`*^9, {3.774862239477104*^9, 3.774862251248041*^9}, - 3.774862340403417*^9, 3.7754917894141517`*^9, 3.7760706465633698`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Merge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, - 3.7549934529137363`*^9}, {3.7552829494329333`*^9, 3.7552829554537253`*^9}, - 3.755372579530821*^9, {3.765365387482224*^9, 3.7653653881771164`*^9}, - 3.7747983306164637`*^9, 3.7747986736373167`*^9, 3.7754917486163588`*^9}, - ExpressionUUID -> "9d4f453e-9c72-4000-9122-ecf47f5aa6af"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, 3.774794209791312*^9}, - ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550214271472473`*^9, - 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { - 3.7552829304305267`*^9, 3.7552829350098047`*^9}, 3.755372577184243*^9, - 3.76536539267952*^9, {3.774798658558407*^9, 3.7747986736373167`*^9}, - 3.7753177220186896`*^9, {3.7754917480639286`*^9, 3.775491774528488*^9}}, - ExpressionUUID -> "d8e297df-a6c2-45e1-bbf9-562a2f6f4d24"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, - 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, - 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, - 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, - 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, - 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, - 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, - 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, - 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, - 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { - 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, - 3.7754917894640894`*^9, 3.7760706466322966`*^9}, - ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "29", ",", "14", ",", "30", ",", - "46.6033273`9.420991788461784"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, - 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, - 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, - 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, - 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, - 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, - 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, - 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, - 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, - 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { - 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, - 3.7754917894640894`*^9, 3.776070646638291*^9}, - ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "event1", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], ",", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event2", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}]}], "\n", " ", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7549933065196686`*^9, {3.7553334050165496`*^9, - 3.7553334446716647`*^9}, {3.7627026686193905`*^9, 3.762702670838029*^9}, { - 3.7627027196525707`*^9, 3.7627027226382403`*^9}, {3.762728482505171*^9, - 3.7627284849986467`*^9}, 3.774798673638316*^9}, - ExpressionUUID -> "f073027b-0651-4a76-8093-b13b81390d0b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.762728501412943*^9, 3.7627285128314185`*^9}, { - 3.7627285870617857`*^9, 3.762728591136469*^9}, 3.7747986736393175`*^9}, - ExpressionUUID -> "526a0e78-dfa9-4844-8861-722896780dba"], - -Cell[BoxData[ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "\[IndentingNewLine]", - "}"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, - 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, { - 3.7655560740431547`*^9, 3.7655560873095894`*^9}}, - ExpressionUUID -> "c21e7961-5a84-45f3-af61-b43c2481c92c"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", - RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7655559532852836`*^9, 3.7655560954859285`*^9, 3.765954365574082*^9, - 3.765954400227334*^9, 3.7659545129450517`*^9, 3.76595457686611*^9, - 3.765954945457864*^9, 3.765955176309712*^9, 3.765979013076853*^9, - 3.7659791492833395`*^9, 3.7659792908183327`*^9, {3.7747986736393175`*^9, - 3.774798677972932*^9}, 3.7747988377319365`*^9, 3.7748614280806327`*^9, - 3.774861967682685*^9, {3.774862239871213*^9, 3.774862251628648*^9}, - 3.774862340780019*^9, 3.7754917895629864`*^9, 3.7760706467781477`*^9}, - ExpressionUUID -> "01c870b8-aaba-4716-af93-eff1bce22607"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent1", "==", - RowBox[{"onPositive", "[", - RowBox[{"event1", "-", - RowBox[{"diffevent", " ", "oldEvent1"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent2", "==", - RowBox[{"onPositive", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}], " ", "-", "0.5"}], "]"}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"dEvent1", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn3", "-", "0.5"}], "]"}]}], "+", " ", - RowBox[{"dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn2", "-", "spn3", "-", "0.5"}], "]"}]}], "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", "dEvent1"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", "dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, - 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { - 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, - 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { - 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, - 3.7632029908427324`*^9}, {3.7655560484177923`*^9, - 3.7655560675078773`*^9}, {3.774798378062895*^9, 3.774798386262143*^9}, - 3.7747984458280263`*^9, {3.7747985315413647`*^9, 3.774798534616194*^9}, - 3.7747986736393175`*^9, {3.7760704479443293`*^9, 3.7760704713202305`*^9}}, - ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{ - RowBox[{"gez", "[", "x_", "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "-", "0.5"}], "]"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"not", "[", "x_", "]"}], ":=", - RowBox[{"gez", "[", - RowBox[{"1", "-", "x"}], "]"}]}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"or", "[", - RowBox[{"x1_", ",", "x2_"}], "]"}], ":=", " ", - RowBox[{"gez", "[", " ", - RowBox[{ - RowBox[{"gez", "[", "x1", "]"}], "+", " ", - RowBox[{"gez", "[", "x2", "]"}]}], "]"}]}], ";"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7659535016962757`*^9, 3.765953537227621*^9}, { - 3.765953591698428*^9, 3.765953633491314*^9}, {3.7659537776016474`*^9, - 3.7659539171926427`*^9}, {3.7659541480864477`*^9, 3.765954159366811*^9}, { - 3.765954190309889*^9, 3.7659541911090636`*^9}, {3.765954243895609*^9, - 3.765954287252881*^9}, {3.7659543284363947`*^9, 3.765954333668998*^9}, - 3.765955249245471*^9, {3.7659788223116503`*^9, 3.7659788600786896`*^9}, { - 3.7659789102459354`*^9, 3.7659789340304003`*^9}, {3.7659792402524962`*^9, - 3.7659792413014126`*^9}, {3.7747984022434483`*^9, 3.774798423106389*^9}, { - 3.774798465435588*^9, 3.7747984916353693`*^9}, {3.7747985356591177`*^9, - 3.774798567507405*^9}, {3.774798608475299*^9, 3.774798613738011*^9}, - 3.774798673640315*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent1", "==", - RowBox[{"gez", "[", - RowBox[{"event1", "-", - RowBox[{"diffevent", " ", "oldEvent1"}]}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent2", "==", - RowBox[{"gez", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}]}], " ", "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent1"}], " ", - RowBox[{"gez", "[", - RowBox[{"spn1", "-", "spn3"}], "]"}]}]}], " ", ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent2"}], " ", - RowBox[{"gez", "[", - RowBox[{"spn2", "-", "spn3"}], "]"}], " ", - RowBox[{"not", "[", - RowBox[{"-", "qpn1"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"or", "[", - RowBox[{ - RowBox[{"-", "qpn1"}], ",", - RowBox[{"-", "qpn2"}]}], "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, - 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { - 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, - 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { - 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, - 3.7632029908427324`*^9}, {3.7655560484177923`*^9, - 3.7655560675078773`*^9}, {3.7659539527299805`*^9, - 3.7659539580474944`*^9}, {3.765953990560954*^9, 3.7659541210473413`*^9}, { - 3.765954203223567*^9, 3.765954204038726*^9}, {3.7659543947419925`*^9, - 3.7659543959437532`*^9}, {3.765954499150284*^9, 3.765954508435705*^9}, { - 3.7659545709552073`*^9, 3.765954573578501*^9}, 3.7659551706705313`*^9, { - 3.765978868000518*^9, 3.765978893848853*^9}, {3.765978938256042*^9, - 3.765978977975065*^9}, {3.7659791387911654`*^9, 3.76597914548526*^9}, { - 3.7659792427329383`*^9, 3.76597925615609*^9}, {3.774798467247336*^9, - 3.774798502673746*^9}, {3.774798579462903*^9, 3.774798600630599*^9}, - 3.774798638403225*^9, 3.774798673640315*^9, {3.7760705201826525`*^9, - 3.7760705288696933`*^9}}, - ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774798673640315*^9}, - ExpressionUUID -> "c36604a9-382b-4358-abaf-68df6f6c8e9a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\ -\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,161, - 83,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706469609585`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,84,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706469969215`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 161,85,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470238934`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,86,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470488677`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,161,87,16172176550883650673, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470748405`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,161,88,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706470998144`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,161,89,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706471257877`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 161,90,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.7760706471517615`*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,161,91,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, - 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, - 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, - 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, - 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, - 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, - 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, - 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { - 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, - 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, - 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, - 3.776070647181732*^9}, - ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"] -}, Open ]] -}, -WindowSize->{912, 700}, -WindowMargins->{{452, Automatic}, {122, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 111, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 56, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 852, 12, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3279, 73, 799, 15, 56, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4081, 90, 874, 12, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4958, 104, 279, 6, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5240, 112, 636, 9, 78, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5879, 123, 576, 10, 53, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6458, 135, 1935, 41, 232, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8396, 178, 1212, 17, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9611, 197, 1276, 20, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10890, 219, 1049, 20, 122, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11942, 241, 1257, 24, 100, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13202, 267, 567, 12, 78, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13772, 281, 584, 11, 100, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14359, 294, 807, 14, 33, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15169, 310, 2975, 57, 232, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18147, 369, 1425, 30, 78, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19575, 401, 3349, 64, 210, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22927, 467, 219, 4, 33, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23149, 473, 4623, 68, 138, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27775, 543, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29110, 566, 1474, 23, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30587, 591, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31922, 614, 1474, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[33399, 640, 1332, 21, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[34734, 663, 1404, 22, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[36141, 687, 1474, 23, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[37618, 712, 1405, 22, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 42264, 813] +NotebookOptionsPosition[ 39039, 737] +NotebookOutlinePosition[ 39496, 754] +CellTagsIndexPosition[ 39453, 751] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, + 3.7747986777531595`*^9, 3.774798837507168*^9, 3.7748614276997967`*^9, + 3.7748619672501326`*^9, {3.7748622394111714`*^9, 3.774862251182107*^9}, + 3.7748623403373017`*^9, 3.7754917893881674`*^9, 3.776070646525416*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, + 3.7747973875893726`*^9}, {3.7760688172187753`*^9, + 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, + 3.7747986777851257`*^9, 3.774798837541133*^9, 3.7748614277577357`*^9, + 3.7748619673110695`*^9, {3.774862239477104*^9, 3.774862251248041*^9}, + 3.774862340403417*^9, 3.7754917894141517`*^9, 3.7760706465633698`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, 3.7552829554537253`*^9}, + 3.755372579530821*^9, {3.765365387482224*^9, 3.7653653881771164`*^9}, + 3.7747983306164637`*^9, 3.7747986736373167`*^9, 3.7754917486163588`*^9}, + ExpressionUUID -> "9d4f453e-9c72-4000-9122-ecf47f5aa6af"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, 3.755372577184243*^9, + 3.76536539267952*^9, {3.774798658558407*^9, 3.7747986736373167`*^9}, + 3.7753177220186896`*^9, {3.7754917480639286`*^9, 3.775491774528488*^9}}, + ExpressionUUID -> "d8e297df-a6c2-45e1-bbf9-562a2f6f4d24"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.7760706466322966`*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "29", ",", "14", ",", "30", ",", + "46.6033273`9.420991788461784"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.75537250361609*^9, {3.755372572239339*^9, + 3.755372584719471*^9}, 3.762728722318306*^9, 3.762728941413127*^9, + 3.762728995980014*^9, 3.7627294861694837`*^9, 3.762729629909155*^9, + 3.7632029998745313`*^9, 3.7653654080479727`*^9, 3.7653656648558197`*^9, + 3.7653658265475893`*^9, 3.7653667369086075`*^9, 3.7655559512014737`*^9, + 3.765556093964796*^9, 3.7659543655311265`*^9, 3.765954400179384*^9, + 3.7659545128990993`*^9, 3.765954576818159*^9, 3.765954945408914*^9, + 3.7659551762607627`*^9, 3.765979013014917*^9, 3.7659791492154098`*^9, + 3.765979290752405*^9, {3.7747986736373167`*^9, 3.7747986778500595`*^9}, + 3.7747988376050696`*^9, 3.7748614278638554`*^9, 3.774861967432947*^9, { + 3.7748622395999775`*^9, 3.7748622513769073`*^9}, 3.7748623405347652`*^9, + 3.7754917894640894`*^9, 3.776070646638291*^9}, + ExpressionUUID -> "bb530fb1-b66b-4cbc-9f7e-1462efedf857"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputVariables", "=", " ", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"{", + RowBox[{ + "event1", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}], ",", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "event2", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", + " ", "\"\\""}], "}"}]}], "\n", " ", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, {3.7553334050165496`*^9, + 3.7553334446716647`*^9}, {3.7627026686193905`*^9, 3.762702670838029*^9}, { + 3.7627027196525707`*^9, 3.7627027226382403`*^9}, {3.762728482505171*^9, + 3.7627284849986467`*^9}, 3.774798673638316*^9}, + ExpressionUUID -> "f073027b-0651-4a76-8093-b13b81390d0b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"inputParameters", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{"{", + RowBox[{ + "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", + "\"\\""}], "}"}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.762728501412943*^9, 3.7627285128314185`*^9}, { + 3.7627285870617857`*^9, 3.762728591136469*^9}, 3.7747986736393175`*^9}, + ExpressionUUID -> "526a0e78-dfa9-4844-8861-722896780dba"], + +Cell[BoxData[ + RowBox[{"initialExpressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "\[IndentingNewLine]", + "}"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, + 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, { + 3.7655560740431547`*^9, 3.7655560873095894`*^9}}, + ExpressionUUID -> "c21e7961-5a84-45f3-af61-b43c2481c92c"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"oldEvent1", "\[Equal]", "event1"}], ",", + RowBox[{"oldEvent2", "\[Equal]", "event2"}]}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7655559532852836`*^9, 3.7655560954859285`*^9, 3.765954365574082*^9, + 3.765954400227334*^9, 3.7659545129450517`*^9, 3.76595457686611*^9, + 3.765954945457864*^9, 3.765955176309712*^9, 3.765979013076853*^9, + 3.7659791492833395`*^9, 3.7659792908183327`*^9, {3.7747986736393175`*^9, + 3.774798677972932*^9}, 3.7747988377319365`*^9, 3.7748614280806327`*^9, + 3.774861967682685*^9, {3.774862239871213*^9, 3.774862251628648*^9}, + 3.774862340780019*^9, 3.7754917895629864`*^9, 3.7760706467781477`*^9}, + ExpressionUUID -> "01c870b8-aaba-4716-af93-eff1bce22607"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"onPositive", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}], "-", "0.5"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"onPositive", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}], " ", "-", "0.5"}], "]"}]}], + ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{ + RowBox[{"dEvent1", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "spn3", "-", "0.5"}], "]"}]}], "+", " ", + RowBox[{"dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "spn3", "-", "0.5"}], "]"}]}], "-", "0.5"}], + "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent1"}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", "dEvent2", " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}]}]}], ",", + "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.774798378062895*^9, 3.774798386262143*^9}, + 3.7747984458280263`*^9, {3.7747985315413647`*^9, 3.774798534616194*^9}, + 3.7747986736393175`*^9, {3.7760704479443293`*^9, 3.7760704713202305`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"gez", "[", "x_", "]"}], ":=", + RowBox[{"onPositive", "[", + RowBox[{"x", "-", "0.5"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"not", "[", "x_", "]"}], ":=", + RowBox[{"gez", "[", + RowBox[{"1", "-", "x"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"or", "[", + RowBox[{"x1_", ",", "x2_"}], "]"}], ":=", " ", + RowBox[{"gez", "[", " ", + RowBox[{ + RowBox[{"gez", "[", "x1", "]"}], "+", " ", + RowBox[{"gez", "[", "x2", "]"}]}], "]"}]}], ";"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7659535016962757`*^9, 3.765953537227621*^9}, { + 3.765953591698428*^9, 3.765953633491314*^9}, {3.7659537776016474`*^9, + 3.7659539171926427`*^9}, {3.7659541480864477`*^9, 3.765954159366811*^9}, { + 3.765954190309889*^9, 3.7659541911090636`*^9}, {3.765954243895609*^9, + 3.765954287252881*^9}, {3.7659543284363947`*^9, 3.765954333668998*^9}, + 3.765955249245471*^9, {3.7659788223116503`*^9, 3.7659788600786896`*^9}, { + 3.7659789102459354`*^9, 3.7659789340304003`*^9}, {3.7659792402524962`*^9, + 3.7659792413014126`*^9}, {3.7747984022434483`*^9, 3.774798423106389*^9}, { + 3.774798465435588*^9, 3.7747984916353693`*^9}, {3.7747985356591177`*^9, + 3.774798567507405*^9}, {3.774798608475299*^9, 3.774798613738011*^9}, + 3.774798673640315*^9}], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"dEvent1", "==", + RowBox[{"gez", "[", + RowBox[{"event1", "-", + RowBox[{"diffevent", " ", "oldEvent1"}]}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"dEvent2", "==", + RowBox[{"gez", "[", + RowBox[{"event2", "-", + RowBox[{"diffevent", " ", "oldEvent2"}]}], " ", "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent1"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn1", "-", "spn3"}], "]"}]}]}], " ", ",", + "\[IndentingNewLine]", + RowBox[{"qpn2", "\[Equal]", + RowBox[{ + RowBox[{"-", "dEvent2"}], " ", + RowBox[{"gez", "[", + RowBox[{"spn2", "-", "spn3"}], "]"}], " ", + RowBox[{"not", "[", + RowBox[{"-", "qpn1"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn3", "\[Equal]", + RowBox[{"or", "[", + RowBox[{ + RowBox[{"-", "qpn1"}], ",", + RowBox[{"-", "qpn2"}]}], "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent1", "==", "event1"}], ",", "\[IndentingNewLine]", + RowBox[{"oldEvent2", "==", "event2"}]}], "\[IndentingNewLine]", "}"}]}], + ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.7553333550001173`*^9, 3.7553333899580746`*^9}, {3.755333477216114*^9, + 3.755333571207209*^9}, {3.755333612470665*^9, 3.7553336471189427`*^9}, { + 3.7627026868999696`*^9, 3.762702690040387*^9}, {3.7627285307005577`*^9, + 3.762728598724123*^9}, {3.762728891838689*^9, 3.762728927807674*^9}, { + 3.7627294714118166`*^9, 3.7627294758742723`*^9}, {3.7632029790894814`*^9, + 3.7632029908427324`*^9}, {3.7655560484177923`*^9, + 3.7655560675078773`*^9}, {3.7659539527299805`*^9, + 3.7659539580474944`*^9}, {3.765953990560954*^9, 3.7659541210473413`*^9}, { + 3.765954203223567*^9, 3.765954204038726*^9}, {3.7659543947419925`*^9, + 3.7659543959437532`*^9}, {3.765954499150284*^9, 3.765954508435705*^9}, { + 3.7659545709552073`*^9, 3.765954573578501*^9}, 3.7659551706705313`*^9, { + 3.765978868000518*^9, 3.765978893848853*^9}, {3.765978938256042*^9, + 3.765978977975065*^9}, {3.7659791387911654`*^9, 3.76597914548526*^9}, { + 3.7659792427329383`*^9, 3.76597925615609*^9}, {3.774798467247336*^9, + 3.774798502673746*^9}, {3.774798579462903*^9, 3.774798600630599*^9}, + 3.774798638403225*^9, 3.774798673640315*^9, {3.7760705201826525`*^9, + 3.7760705288696933`*^9}}, + ExpressionUUID -> "add8a19a-4b57-4e4f-b179-d378f696ba99"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.774798673640315*^9}, + ExpressionUUID -> "c36604a9-382b-4358-abaf-68df6f6c8e9a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"4\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ +\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ +\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ +\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\ +\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ +\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ +XMLElement must be a list of contents, even if it is an empty list.\"",2,161, + 83,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469609585`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,84,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706469969215`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,85,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470238934`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,86,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470488677`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,161,87,16172176550883650673, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470748405`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,161,88,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706470998144`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,161,89,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471257877`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 161,90,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.7760706471517615`*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,161,91,16172176550883650673,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725041065826`*^9, {3.7553725725680017`*^9, + 3.7553725849122725`*^9}, 3.762728722625156*^9, 3.7627289418258924`*^9, + 3.762728996274845*^9, 3.7627294867951202`*^9, 3.762729630210981*^9, + 3.7653654082008142`*^9, 3.7653656650765905`*^9, 3.7653658267593718`*^9, + 3.765366737111397*^9, 3.765555954814411*^9, 3.7655560971309924`*^9, + 3.765954366034607*^9, 3.7659544003462114`*^9, 3.765954513068924*^9, + 3.7659545769829893`*^9, 3.7659549456007166`*^9, 3.7659551764485693`*^9, + 3.76597901324568*^9, 3.765979149423196*^9, 3.7659792909611835`*^9, { + 3.7747986736413155`*^9, 3.7747986784614277`*^9}, 3.774798837905756*^9, + 3.7748614283653383`*^9, 3.774861968070548*^9, {3.7748622402757936`*^9, + 3.7748622519223447`*^9}, 3.7748623411256633`*^9, 3.7754917897228217`*^9, + 3.776070647181732*^9}, + ExpressionUUID -> "06d34eee-160d-4e53-9f1d-4c505a1da00a"] +}, Open ]] +}, +WindowSize->{912, 700}, +WindowMargins->{{452, Automatic}, {122, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +Magnification:>1.1 Inherited, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 111, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 852, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3279, 73, 799, 15, 56, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4081, 90, 874, 12, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4958, 104, 279, 6, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5240, 112, 636, 9, 78, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5879, 123, 576, 10, 53, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6458, 135, 1935, 41, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8396, 178, 1212, 17, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9611, 197, 1276, 20, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10890, 219, 1049, 20, 122, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11942, 241, 1257, 24, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13202, 267, 567, 12, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13772, 281, 584, 11, 100, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14359, 294, 807, 14, 33, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[15169, 310, 2975, 57, 232, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[18147, 369, 1425, 30, 78, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[19575, 401, 3349, 64, 210, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22927, 467, 219, 4, 33, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23149, 473, 4623, 68, 138, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27775, 543, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[29110, 566, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[30587, 591, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[31922, 614, 1474, 24, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[33399, 640, 1332, 21, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[34734, 663, 1404, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[36141, 687, 1474, 23, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[37618, 712, 1405, 22, 23, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml index 737e1a6..550c31d 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp similarity index 96% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp index 0528c7e..0f03429 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.hpp +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp @@ -1,165 +1,165 @@ -#ifndef ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED -#define ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramMerge0.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 22 Aug 2019 21:43:02 -//! @brief Merge without triggers for activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramMerge0.nb*/ - -using namespace hopsan; - -class ActivityDiagramMerge0 : public ComponentQ -{ -private: - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramMerge0(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - qpn3 = onPositive(spn1 + spn2 - spn3); - qpn1 = -(qpn3*onPositive(-0.5 + spn1)); - qpn2 = -(qpn3*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2)); - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED +#ifndef ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED +#define ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED + +#include +#include "ComponentEssentials.h" +#include "ComponentUtilities.h" +#include "math.h" + +//! +//! @file ActivityDiagramMerge0.hpp +//! @author Petter Krus +// co-author/auditor **Not yet audited by a second person** +//! @date Thu 22 Aug 2019 21:43:02 +//! @brief Merge without triggers for activity diagram +//! @ingroup ActivityDiagramComponents +//! +//==This code has been autogenerated using Compgen== +//from +/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ +ActivityDiagram}/ActivityDiagramMerge0.nb*/ + +using namespace hopsan; + +class ActivityDiagramMerge0 : public ComponentQ +{ +private: + Port *mpPpn1; + Port *mpPpn2; + Port *mpPpn3; + int mNstep; + //Port Ppn1 variable + double spn1; + double qpn1; + //Port Ppn2 variable + double spn2; + double qpn2; + //Port Ppn3 variable + double spn3; + double qpn3; +//==This code has been autogenerated using Compgen== + //inputVariables + //outputVariables + //Expressions variables + //Port Ppn1 pointer + double *mpP_spn1; + double *mpP_qpn1; + //Port Ppn2 pointer + double *mpP_spn2; + double *mpP_qpn2; + //Port Ppn3 pointer + double *mpP_spn3; + double *mpP_qpn3; + //Delay declarations +//==This code has been autogenerated using Compgen== + //inputVariables pointers + //inputParameters pointers + //outputVariables pointers + EquationSystemSolver *mpSolver; + +public: + static Component *Creator() + { + return new ActivityDiagramMerge0(); + } + + void configure() + { +//==This code has been autogenerated using Compgen== + + mNstep=9; + + //Add ports to the component + mpPpn1=addPowerPort("Ppn1","NodePetriNet"); + mpPpn2=addPowerPort("Ppn2","NodePetriNet"); + mpPpn3=addPowerPort("Ppn3","NodePetriNet"); + //Add inputVariables to the component + + //Add inputParammeters to the component + //Add outputVariables to the component + +//==This code has been autogenerated using Compgen== + //Add constantParameters + } + + void initialize() + { + //Read port variable pointers from nodes + //Port Ppn1 + mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); + mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); + //Port Ppn2 + mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); + mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); + //Port Ppn3 + mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); + mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); + + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + qpn1 = (*mpP_qpn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + qpn2 = (*mpP_qpn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + qpn3 = (*mpP_qpn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //Read outputVariables from nodes + +//==This code has been autogenerated using Compgen== + + + //Initialize delays + + + simulateOneTimestep(); + + } + void simulateOneTimestep() + { + //Read variables from nodes + //Port Ppn1 + spn1 = (*mpP_spn1); + //Port Ppn2 + spn2 = (*mpP_spn2); + //Port Ppn3 + spn3 = (*mpP_spn3); + + //Read inputVariables from nodes + + //Read inputParameters from nodes + + //LocalExpressions + + //Expressions + qpn3 = onPositive(spn1 + spn2 - spn3); + qpn1 = -(qpn3*onPositive(-0.5 + spn1)); + qpn2 = -(qpn3*onPositive(0.5 + qpn1)*onPositive(-0.5 + spn2)); + + //Calculate the delayed parts + + + //Write new values to nodes + //Port Ppn1 + (*mpP_qpn1)=qpn1; + //Port Ppn2 + (*mpP_qpn2)=qpn2; + //Port Ppn3 + (*mpP_qpn3)=qpn3; + //outputVariables + + //Update the delayed variabels + + } + void deconfigure() + { + delete mpSolver; + } +}; +#endif // ACTIVITYDIAGRAMMERGE0_HPP_INCLUDED diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb index 0d97066..45adabc 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.nb +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb @@ -1,624 +1,624 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 32492, 616] -NotebookOptionsPosition[ 29781, 551] -NotebookOutlinePosition[ 30208, 567] -CellTagsIndexPosition[ 30165, 564] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795572931881*^9, - 3.774795612385293*^9, 3.774861408366062*^9, 3.7748619624159155`*^9, - 3.7748622245843167`*^9, 3.7748640394382243`*^9, 3.7753177662699428`*^9, - 3.775491732568901*^9, 3.775491782033749*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955729948483`*^9, - 3.774795612450227*^9, 3.7748614084190083`*^9, 3.7748619624768515`*^9, - 3.7748622246482515`*^9, 3.7748640395161448`*^9, 3.7753177663398657`*^9, - 3.7754917325888805`*^9, 3.7754917820577235`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Merge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, - 3.7549934529137363`*^9}, {3.7552829494329333`*^9, - 3.7552829554537253`*^9}, {3.7653654200584526`*^9, 3.765365420761336*^9}, - 3.7747952519978476`*^9, 3.7747955692027297`*^9}, - ExpressionUUID -> "8e539398-d59d-4346-99c7-62ce8cde8c74"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, 3.774794209791312*^9}, - ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{ - "brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550214271472473`*^9, - 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { - 3.7552829304305267`*^9, 3.7552829350098047`*^9}, {3.765365424137388*^9, - 3.7653654247616515`*^9}, 3.7747952541435413`*^9, 3.7747955692037344`*^9, { - 3.7753177325159492`*^9, 3.7753177417951164`*^9}, {3.77549167539384*^9, - 3.7754917209458838`*^9}, {3.7754917778650465`*^9, 3.775491778104801*^9}}, - ExpressionUUID -> "63192a21-eff5-4a32-ab06-93bd62a509b1"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, - 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, - 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, - 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, - 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, - 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, - 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782103677*^9}, - ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "22", ",", "21", ",", "43", ",", - "2.0866932`8.07203358449933"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, - 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, - 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, - 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, - 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, - 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, - 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, - 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782108671*^9}, - ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7748638812026606`*^9, 3.774863885385459*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell["\<\ -inputParameters = { - {event, 0.1, double, \"\", \"event (trigg on positive flank)\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7549933065196686`*^9, 3.7747955692037344`*^9}, - ExpressionUUID -> "6004a690-5f87-4437-a4d9-05a7963088b8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "+", "spn2", "-", "spn3"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{ - RowBox[{"-", "qpn3"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}], - RowBox[{"onPositive", "[", - RowBox[{"spn2", "-", "0.5"}], "]"}]}]}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, - 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, - 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { - 3.76269520463138*^9, 3.7626952378702517`*^9}, {3.7626953144143944`*^9, - 3.762695317976671*^9}, {3.7626961113142395`*^9, 3.762696124434898*^9}, { - 3.76276650333788*^9, 3.762766514206193*^9}, 3.762766805898405*^9, { - 3.7747952829010906`*^9, 3.7747952918124933`*^9}, {3.7747953437341003`*^9, - 3.7747953526869335`*^9}, 3.7747955692047253`*^9}, - ExpressionUUID -> "9bddbe6b-0b0f-498d-854c-260e582893fd"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747955692047253`*^9}, - ExpressionUUID -> "1bf4c767-539e-4196-9557-c11f2e50fda5"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,34,10,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917822165594`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,11,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782257517*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 34,12,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.77549178228449*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,13,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823094635`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,34,14,16171631835219174289, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823354373`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,34,15,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782363408*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,34,16,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823893814`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 34,17,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782416353*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,34,18,16171631835219174289,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, - 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, - 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, - 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, - 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, - 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, - 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, - 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917824433255`*^9}, - ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"] -}, Open ]] -}, -WindowSize->{1234, 716}, -WindowMargins->{{193, Automatic}, {56, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 824, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3251, 73, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3915, 88, 837, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4755, 102, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5037, 110, 590, 9, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5630, 121, 576, 10, 49, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6209, 133, 2024, 43, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8236, 178, 860, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9099, 192, 924, 15, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10026, 209, 1101, 21, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11130, 232, 672, 12, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11805, 246, 1985, 38, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13793, 286, 221, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14017, 292, 7128, 103, 113, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[21148, 397, 1002, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22153, 415, 1143, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23299, 435, 1004, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24306, 453, 1146, 19, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25455, 474, 1002, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26460, 492, 1076, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27539, 511, 1144, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28686, 531, 1079, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 8.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 157, 7] +NotebookDataLength[ 32492, 616] +NotebookOptionsPosition[ 29781, 551] +NotebookOutlinePosition[ 30208, 567] +CellTagsIndexPosition[ 30165, 564] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Component Generation", "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { + 3.7747940713991594`*^9, 3.774794098262859*^9}}, + ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], + +Cell[BoxData[ + RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, + 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, + 3.762728078322752*^9}, + ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\""}], "}"}], + "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { + 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, + 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, + 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { + 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, + 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { + 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, + 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { + 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, + 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, + 3.7627282130049376`*^9}, + ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], + +Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ +StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { + 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, + 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, + 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, + 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795572931881*^9, + 3.774795612385293*^9, 3.774861408366062*^9, 3.7748619624159155`*^9, + 3.7748622245843167`*^9, 3.7748640394382243`*^9, 3.7753177662699428`*^9, + 3.775491732568901*^9, 3.775491782033749*^9}, + ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], + +Cell[BoxData[ + RowBox[{"path", "=", + RowBox[{"ToFileName", "[", + RowBox[{"{", + RowBox[{ + "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", + "\"\\"", ",", "\"\\"", ",", + "\"\\""}], "}"}], "]"}]}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { + 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { + 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, + 3.7748621744482594`*^9}}, + ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], + +Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ +ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{ + 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { + 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, + 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, + 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, + 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955729948483`*^9, + 3.774795612450227*^9, 3.7748614084190083`*^9, 3.7748619624768515`*^9, + 3.7748622246482515`*^9, 3.7748640395161448`*^9, 3.7753177663398657`*^9, + 3.7754917325888805`*^9, 3.7754917820577235`*^9}, + ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], + +Cell[BoxData[ + RowBox[{"Off", "[", + RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.76272807832475*^9}, + ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], + +Cell["ActivityDiagram Merge", "Section", + PageWidth->WindowWidth, + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { + 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { + 3.7549932967387524`*^9, 3.754993297147331*^9}, {3.754993452569092*^9, + 3.7549934529137363`*^9}, {3.7552829494329333`*^9, + 3.7552829554537253`*^9}, {3.7653654200584526`*^9, 3.765365420761336*^9}, + 3.7747952519978476`*^9, 3.7747955692027297`*^9}, + ExpressionUUID -> "8e539398-d59d-4346-99c7-62ce8cde8c74"], + +Cell["\<\ +Event trigger for state machines. The flow is triggered on a positive flank \ +in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ +0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ +or 1.\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { + 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, + 3.7747940079196377`*^9}, 3.774794209791312*^9}, + ExpressionUUID -> "bdc3e281-aa00-44be-ae84-967524ca58f1"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"domain", "=", "\"\\""}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{ + "brief", "=", "\"\\""}], + ";"}], "\n", + RowBox[{ + RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", + RowBox[{ + RowBox[{"author", "=", "\"\\>\""}], + ";"}], "\n", + RowBox[{"coauthor", "=", + "\"\, Emilia Villani\>\""}], "\ +\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "affiliation", " ", "=", " ", + "\"\\""}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"SetFilenames", "[", + RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{"Date", "[", "]"}]}], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, + 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, + 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { + 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, + 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { + 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, + 3.7549912207072244`*^9}, {3.7550214271472473`*^9, + 3.7550214275618167`*^9}, {3.755282886208119*^9, 3.755282894223857*^9}, { + 3.7552829304305267`*^9, 3.7552829350098047`*^9}, {3.765365424137388*^9, + 3.7653654247616515`*^9}, 3.7747952541435413`*^9, 3.7747955692037344`*^9, { + 3.7753177325159492`*^9, 3.7753177417951164`*^9}, {3.77549167539384*^9, + 3.7754917209458838`*^9}, {3.7754917778650465`*^9, 3.775491778104801*^9}}, + ExpressionUUID -> "63192a21-eff5-4a32-ab06-93bd62a509b1"], + +Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ +"Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782103677*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + "2019", ",", "8", ",", "22", ",", "21", ",", "43", ",", + "2.0866932`8.07203358449933"}], "}"}]], "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, + 3.7535331327717113`*^9, 3.7550214432906017`*^9, 3.7551057445882325`*^9, + 3.7551059975064726`*^9, 3.7553725928850546`*^9, 3.762695351804636*^9, + 3.762696195964285*^9, 3.76276652057736*^9, 3.7627667602008085`*^9, + 3.762766811596943*^9, 3.765365436776595*^9, 3.765365561124067*^9, + 3.7653661511844335`*^9, 3.765366742938574*^9, {3.7747955692037344`*^9, + 3.7747955731426945`*^9}, 3.7747956125780983`*^9, 3.774861408531891*^9, + 3.774861962612712*^9, 3.7748622247711287`*^9, 3.7748640396719847`*^9, + 3.7753177664827185`*^9, 3.7754917326288385`*^9, 3.775491782108671*^9}, + ExpressionUUID -> "45c2d659-7658-4459-abb3-c5d976bfef86"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"nodeConnections", "=", + RowBox[{"{", "\[IndentingNewLine]", "\t", + RowBox[{ + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", + "\[IndentingNewLine]", "\t", + RowBox[{"PetriNetQnode", "[", + RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], + "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { + 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, + 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { + 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, + 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { + 3.7748638812026606`*^9, 3.774863885385459*^9}}, + ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], + +Cell["\<\ +inputParameters = { + {event, 0.1, double, \"\", \"event (trigg on positive flank)\"} + };\ +\>", "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, + 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, + 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { + 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, + 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, + 3.754993203039356*^9}, 3.7549933065196686`*^9, 3.7747955692037344`*^9}, + ExpressionUUID -> "6004a690-5f87-4437-a4d9-05a7963088b8"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"expressions", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qpn3", "\[Equal]", " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "+", "spn2", "-", "spn3"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{"qpn1", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", + RowBox[{"qpn2", "==", + RowBox[{ + RowBox[{"-", "qpn3"}], " ", + RowBox[{"onPositive", "[", + RowBox[{"1", "+", "qpn1", "-", "0.5"}], "]"}], + RowBox[{"onPositive", "[", + RowBox[{"spn2", "-", "0.5"}], "]"}]}]}]}], "\[IndentingNewLine]", + "}"}]}], ";"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { + 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, + 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { + 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, + 3.7535317847886696`*^9}, {3.7535320068457546`*^9, + 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, + 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { + 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7549933379472666`*^9, + 3.7549934278415847`*^9}, 3.7549934587237473`*^9, {3.755105685321338*^9, + 3.755105691343128*^9}, {3.7551058806949067`*^9, 3.7551059297583227`*^9}, { + 3.76269520463138*^9, 3.7626952378702517`*^9}, {3.7626953144143944`*^9, + 3.762695317976671*^9}, {3.7626961113142395`*^9, 3.762696124434898*^9}, { + 3.76276650333788*^9, 3.762766514206193*^9}, 3.762766805898405*^9, { + 3.7747952829010906`*^9, 3.7747952918124933`*^9}, {3.7747953437341003`*^9, + 3.7747953526869335`*^9}, 3.7747955692047253`*^9}, + ExpressionUUID -> "9bddbe6b-0b0f-498d-854c-260e582893fd"], + +Cell[BoxData[ + RowBox[{"Compgen", "[", "file", "]"}]], "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{3.7747955692047253`*^9}, + ExpressionUUID -> "1bf4c767-539e-4196-9557-c11f2e50fda5"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","cntsList", + "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ +\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ +\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ +\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ +\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ +\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramMerge0.svg\\\\\\\"\\\"}]}], \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ +\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ +RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ +\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ +RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ +\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ +\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ +\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ +RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ +\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ +RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ +\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ +\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ +RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ +\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ +contents. The third item in an XMLElement must be a list of contents, even if \ +it is an empty list.\"",2,34,10,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917822165594`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,11,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782257517*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,12,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.77549178228449*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,13,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823094635`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ +\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ +\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ +value of the attribute must be a string.\"",2,34,14,16171631835219174289, + "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823354373`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "Export","autofix", + "\"Malformed symbolic XML expression encountered. This may result in \ +unexpected XML data.\"",2,34,15,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782363408*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ +\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ +calculation.\"",2,34,16,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917823893814`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "XMLElement","attrhs", + "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ +\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ +attribute in an XMLElement. The value of the attribute must be a string.\"",2, + 34,17,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.775491782416353*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"], + +Cell[BoxData[ + TemplateBox[{ + "General","stop", + "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ +\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ +during this calculation.\"",2,34,18,16171631835219174289,"Local"}, + "MessageTemplate"]], "Message", "MSG", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}, + CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, + 3.7535331349449224`*^9, 3.7550214434164715`*^9, 3.7551057448010125`*^9, + 3.755105997747225*^9, 3.7553725931417885`*^9, 3.7626953519921227`*^9, + 3.7626961960892572`*^9, 3.7627665207574773`*^9, 3.7627667604327507`*^9, + 3.762766811820899*^9, 3.7653654368784895`*^9, 3.765365561259926*^9, + 3.7653661513033113`*^9, 3.7653667430584497`*^9, {3.7747955692047253`*^9, + 3.7747955735093164`*^9}, 3.7747956128478203`*^9, 3.774861408704713*^9, + 3.774861962853463*^9, 3.774862225021869*^9, 3.774864039939707*^9, + 3.7753177668393507`*^9, 3.775491732998458*^9, 3.7754917824433255`*^9}, + ExpressionUUID -> "2e4655f9-1cd2-44ac-826f-a5b5e006b3e1"] +}, Open ]] +}, +WindowSize->{1234, 716}, +WindowMargins->{{193, Automatic}, {56, Automatic}}, +PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, +FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[579, 22, 270, 4, 101, "Title", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[852, 28, 355, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[1210, 36, 1211, 21, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[2424, 59, 824, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3251, 73, 661, 13, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[3915, 88, 837, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[4755, 102, 279, 6, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5037, 110, 590, 9, 70, "Section", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[5630, 121, 576, 10, 49, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[6209, 133, 2024, 43, 202, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[8236, 178, 860, 12, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[9099, 192, 924, 15, 30, "Output", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[10026, 209, 1101, 21, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11130, 232, 672, 12, 68, "Text", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[11805, 246, 1985, 38, 107, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[13793, 286, 221, 4, 30, "Input", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[14017, 292, 7128, 103, 113, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[21148, 397, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[22153, 415, 1143, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[23299, 435, 1004, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[24306, 453, 1146, 19, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[25455, 474, 1002, 16, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[26460, 492, 1076, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[27539, 511, 1144, 18, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}], +Cell[28686, 531, 1079, 17, 21, "Message", + CellGroupingRules->{"GroupTogetherGrouping", 10000.}] +}, Open ]] +} +] +*) + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml similarity index 98% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml index 8602cad..8946aa0 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMerge0.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.hpp rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.svg b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.svg rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.svg diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml similarity index 97% rename from ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml rename to ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml index 07100ae..f31aa8f 100644 --- a/ActivityDiagrams/ActivityDiagram/ActivityDiagramMergeN.xml +++ b/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg b/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/AvtivityDiagramAction.svg rename to ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg diff --git a/ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg b/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg similarity index 100% rename from ActivityDiagrams/ActivityDiagram/AvtivityDiagramActionN.svg rename to ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg diff --git a/ActivityDiagramLib/ActivityDiagram/compile.bat b/ActivityDiagramLib/ActivityDiagram/compile.bat new file mode 100644 index 0000000..2599c0b --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagram/compile.bat @@ -0,0 +1,7 @@ +@echo off +set PATH=C:/Program Files/Hopsan/mingw64/bin;%PATH% +@echo on +if exist ActivityDiagramLib.dll ( + del ActivityDiagramLib.dll +) +g++ -I"C:/Program Files/Hopsan/HopsanCore/include" -fPIC -w -Wl,--rpath,"C:/Users/petkr14/Git/development-libraries/ActivityDiagramLib/ActivityDiagram" -DHOPSAN_BUILD_TYPE_RELEASE -DHOPSANCORE_DLLIMPORT -std=c++11 ActivityDiagramLib.cc -L"C:/Program Files/Hopsan/bin" -L"C:/Program Files/Hopsan/lib" -lhopsancore -shared -o ActivityDiagramLib.dll diff --git a/ActivityDiagrams/Exempel/ADcylinder.hmf b/ActivityDiagramLib/Exempel/ADcylinder.hmf similarity index 98% rename from ActivityDiagrams/Exempel/ADcylinder.hmf rename to ActivityDiagramLib/Exempel/ADcylinder.hmf index 635a085..88d6b84 100644 --- a/ActivityDiagrams/Exempel/ADcylinder.hmf +++ b/ActivityDiagramLib/Exempel/ADcylinder.hmf @@ -1,5292 +1,5292 @@ - - - - - ActivityDiagramLibrary - ActivityDiagramLibrary - - - 59c07d33-554f-49d3-a163-a928823d4380 - HopsanDefaultComponentLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - horizontal - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - + + + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + diff --git a/ActivityDiagrams/Exempel/ActivityDiagramTest.hmf b/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf similarity index 98% rename from ActivityDiagrams/Exempel/ActivityDiagramTest.hmf rename to ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf index 72f3727..53769b4 100644 --- a/ActivityDiagrams/Exempel/ActivityDiagramTest.hmf +++ b/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf @@ -1,8397 +1,8397 @@ - - - - - 59c07d33-554f-49d3-a163-a928823d4380 - HopsanDefaultComponentLibrary - - - ActivityDiagramLibrary - ActivityDiagramLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - - - vertical - horizontal - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - vertical - horizontal - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - - - - - - - - vertical - horizontal - vertical - - - - - - - + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + diff --git a/ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll b/ActivityDiagrams/ActivityDiagram/ActivityDiagramLibrary (Emilia Villani's conflicted copy 2019-10-16).dll deleted file mode 100644 index 2739df9062652a5e11303ff6609696bbb653aa38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275329 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 Q_QD}_y zN~{ycu+_%Nf_Sd=3=XQB-dgipRuxUUIya73u&Rn|a(H&RMONm9B8^$3+ZXfg7HamY zJgIH*9-)lto0U}UPcAO{2Mb5;H5Wh_83UAE^9X<;pf?)}3X6-w%<)2KP zO5PBRD(QNqgU?DrzG*>CLO*>2Hzy?WE+2Y5JHD@+ zUd?AcLg>_M?+wsDOyNmpFkh8;C-lw8GQ9FEtM;h?vTl6na=Y8wVSA?@GpgKj!)yoz zu^w{9)(v%dqL2mqy*EbV8`&OCbRi6K=6-oNz?ZZMmoL*!yX@u@c3W+)D(|DVuZ$p_ z%_X+3o7skUb|=BP6DnepQV z-_-TX^byz&F`WdJ>W>}3I4K?X^2(A9+r0kl&VaJ?fbO^zJTg+$31XQNtzmldX|H80 z^U&ldvgd0469wF9`U}_-s5^H4N^W7ShUO!tnh1J4W?Mg*tk087i&0>1R!v~JlN*bx z>>;r7e=DcN3hr^YM#dqxVtkH^1ufcuwlSb$H*YKoVWEOk>F=HBB`x%T-t4KX)=KR( tohaOi!jHGd`Xb3UeYtSGn}I0D7hri)sqoH<9zn8YK?Gr1xdn$c{y(0c=V1T< diff --git a/ActivityDiagrams/ActivityDiagram/compile.bat b/ActivityDiagrams/ActivityDiagram/compile.bat deleted file mode 100644 index d81ca11..0000000 --- a/ActivityDiagrams/ActivityDiagram/compile.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -set PATH=C:/Program Files/Hopsan214/mingw64/bin;%PATH% -@echo on -if exist ActivityDiagramLibrary.dll ( - del ActivityDiagramLibrary.dll -) -g++ -I"C:/Program Files/Hopsan214/HopsanCore/include" -fPIC -w -Wl,--rpath,"G:/Git/development-libraries/ActivityDiagrams/ActivityDiagram" -DHOPSAN_BUILD_TYPE_RELEASE -std=c++11 ActivityDiagramLib.cc -L"C:/Program Files/Hopsan214/bin" -L"C:/Program Files/Hopsan214/lib" -lhopsancore -shared -o ActivityDiagramLibrary.dll

    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 vF%I5XzS=wQ^^l7nRpWx + + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + horizontal + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + diff --git a/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf b/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf new file mode 100644 index 0000000..53769b4 --- /dev/null +++ b/ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf @@ -0,0 +1,8397 @@ + + + + + 59c07d33-554f-49d3-a163-a928823d4380 + HopsanDefaultComponentLibrary + + + ActivityDiagramLibrary + ActivityDiagramLibrary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + + + vertical + horizontal + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + vertical + horizontal + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + + + + + + + + vertical + horizontal + vertical + + + + + + + From 9b994724be5e7590851a4b73ea9666de14fbc32f Mon Sep 17 00:00:00 2001 From: Petter Krus Date: Sun, 7 Nov 2021 14:45:37 +0100 Subject: [PATCH 7/8] ActivityDiagramLib updated --- .../ActivityDiagram/ActivityDiagramAction.hpp | 157 - .../ActivityDiagram/ActivityDiagramAction.nb | 850 -- .../ActivityDiagram/ActivityDiagramAction.svg | 199 - .../ActivityDiagram/ActivityDiagramAction.xml | 25 - .../ActivityDiagram/ActivityDiagramAction1.nb | 778 -- .../ActivityDiagramAction1.svg | 212 - .../ActivityDiagramActionN.hpp | 152 - .../ActivityDiagramActionN.svg | 199 - .../ActivityDiagramActionN.xml | 24 - .../ActivityDiagramActionN_active.svg | 199 - .../ActivityDiagramAction_action.svg | 212 - .../ActivityDiagramAction_active.svg | 199 - .../ActivityDiagramConnector.hpp | 155 - .../ActivityDiagramConnector.nb | 551 -- .../ActivityDiagramConnector.svg | 132 - .../ActivityDiagramConnector.xml | 14 - .../ActivityDiagramDecision.hpp | 244 - .../ActivityDiagramDecision.nb | 746 -- .../ActivityDiagramDecision.svg | 162 - .../ActivityDiagramDecision.xml | 16 - .../ActivityDiagramDecision0.hpp | 242 - .../ActivityDiagram/ActivityDiagramEdge.hpp | 198 - .../ActivityDiagram/ActivityDiagramEdge.nb | 738 -- .../ActivityDiagram/ActivityDiagramEdge.svg | 136 - .../ActivityDiagram/ActivityDiagramEdge.xml | 14 - .../ActivityDiagram/ActivityDiagramEdge01.hpp | 164 - .../ActivityDiagram/ActivityDiagramEdge1.hpp | 198 - .../ActivityDiagram/ActivityDiagramFinal.hpp | 145 - .../ActivityDiagram/ActivityDiagramFinal.nb | 720 -- .../ActivityDiagram/ActivityDiagramFinal.svg | 218 - .../ActivityDiagram/ActivityDiagramFinal.xml | 13 - .../ActivityDiagram/ActivityDiagramFinal0.hpp | 127 - .../ActivityDiagramFinalNode.hpp | 131 - .../ActivityDiagramFinalNode.svg | 201 - .../ActivityDiagramFinalNode.xml | 12 - .../ActivityDiagram/ActivityDiagramFork.hpp | 228 - .../ActivityDiagram/ActivityDiagramFork.nb | 599 -- .../ActivityDiagram/ActivityDiagramFork.svg | 111 - .../ActivityDiagram/ActivityDiagramFork.xml | 15 - .../ActivityDiagram/ActivityDiagramFork0.hpp | 228 - .../ActivityDiagram/ActivityDiagramForkN.hpp | 178 - .../ActivityDiagram/ActivityDiagramForkN.xml | 14 - .../ActivityDiagramInitiateState.hpp | 144 - .../ActivityDiagramInitiateState.nb | 568 -- .../ActivityDiagramInitiateState.svg | 114 - .../ActivityDiagramInitiateState.xml | 13 - .../ActivityDiagram/ActivityDiagramJoin.hpp | 181 - .../ActivityDiagram/ActivityDiagramJoin.nb | 661 -- .../ActivityDiagram/ActivityDiagramJoin.svg | 132 - .../ActivityDiagram/ActivityDiagramJoin.xml | 15 - .../ActivityDiagram/ActivityDiagramJoin0.hpp | 165 - .../ActivityDiagram/ActivityDiagramJoin0.nb | 726 -- .../ActivityDiagram/ActivityDiagramJoin0.svg | 113 - .../ActivityDiagram/ActivityDiagramJoin0.xml | 14 - .../ActivityDiagram/ActivityDiagramJoin1.svg | 143 - .../ActivityDiagram/ActivityDiagramJoinN.hpp | 129 - .../ActivityDiagram/ActivityDiagramJoinN.xml | 13 - .../ActivityDiagram/ActivityDiagramLib.cc | 51 - .../ActivityDiagram/ActivityDiagramLib.pro | 50 - .../ActivityDiagram/ActivityDiagramLib.xml | 42 - .../ActivityDiagramLibrary.dll | Bin 289740 -> 0 bytes .../ActivityDiagram/ActivityDiagramMerge.hpp | 195 - .../ActivityDiagram/ActivityDiagramMerge.nb | 821 -- .../ActivityDiagram/ActivityDiagramMerge.svg | 133 - .../ActivityDiagram/ActivityDiagramMerge.xml | 16 - .../ActivityDiagram/ActivityDiagramMerge0.hpp | 165 - .../ActivityDiagram/ActivityDiagramMerge0.nb | 624 -- .../ActivityDiagram/ActivityDiagramMerge0.svg | 100 - .../ActivityDiagram/ActivityDiagramMerge0.xml | 14 - .../ActivityDiagram/ActivityDiagramMergeN.hpp | 130 - .../ActivityDiagram/ActivityDiagramMergeN.svg | 100 - .../ActivityDiagram/ActivityDiagramMergeN.xml | 13 - .../ActivityDiagram/AvtivityDiagramAction.svg | 212 - .../AvtivityDiagramActionN.svg | 199 - .../ActivityDiagramLib/Exempel/ADcylinder.hmf | 5292 ----------- .../Exempel/ActivityDiagramTest.hmf | 8397 ----------------- 76 files changed, 29541 deletions(-) delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.nb delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMerge0.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.hpp delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramMergeN.xml delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramAction.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/AvtivityDiagramActionN.svg delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/Exempel/ADcylinder.hmf delete mode 100644 ActivityDiagramLib/ActivityDiagramLib/Exempel/ActivityDiagramTest.hmf diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp deleted file mode 100644 index da21db4..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.hpp +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef ACTIVITYDIAGRAMACTION_HPP_INCLUDED -#define ACTIVITYDIAGRAMACTION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramAction.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 17 Oct 2019 16:57:08 -//! @brief State -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramAction.nb*/ - -using namespace hopsan; - -class ActivityDiagramAction : public ComponentC -{ -private: - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - double state; - //InitialExpressions variables - double stated; - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - double *mpstate; - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramAction(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - addOutputVariable("state","State","",0.,&mpstate); - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - state = (*mpstate); - -//==This code has been autogenerated using Compgen== - //InitialExpressions - stated = state; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - qpn1 = (*mpP_qpn1); - //Port Ppn2 - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - state = onPositive(-0.5 + qpn1 + qpn2 + stated); - spn1 = state; - spn2 = state; - stated = state; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_spn1)=spn1; - //Port Ppn2 - (*mpP_spn2)=spn2; - //outputVariables - (*mpstate)=state; - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMACTION_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb deleted file mode 100644 index 3884657..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.nb +++ /dev/null @@ -1,850 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 45119, 842] -NotebookOptionsPosition[ 40523, 772] -NotebookOutlinePosition[ 40943, 788] -CellTagsIndexPosition[ 40900, 785] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[239]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - CellLabel-> - "In[241]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, - 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, - 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, - 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, - 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, - 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, - 3.7803129134806423`*^9, 3.780312972657365*^9}, - CellLabel-> - "Out[241]=",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99"] -}, Open ]], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ -"a5795f19-20e6-4fe4-996e-0c4224394789"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[242]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["Action", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, - 3.7748618470267663`*^9},ExpressionUUID->"3d597773-8bb1-48e6-9d32-\ -6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, - 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { - 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, - CellLabel-> - "In[243]:=",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, - 3.7803129728554816`*^9}, - CellLabel-> - "Out[248]=",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "17", ",", "16", ",", "56", ",", - "12.7882775`8.859387008130836"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.780312913634784*^9, - 3.780312972864458*^9}, - CellLabel-> - "Out[252]=",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}, - CellLabel-> - "In[253]:=",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - CellLabel-> - "In[254]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, - 3.7749719205128927`*^9, 3.7803127433380165`*^9}, - CellLabel-> - "In[255]:=",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, - 3.7803127608689785`*^9}, - CellLabel-> - "In[256]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, - 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { - 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, - 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { - 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, - 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { - 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, - 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { - 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, - 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { - 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, - 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { - 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, - 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { - 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, - 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { - 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { - 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, - 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, - 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { - 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { - 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, - 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, - 3.774864663355605*^9}}, - CellLabel-> - "In[257]:=",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR", "[", - RowBox[{"x_", ",", "y_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9, {3.780198065667446*^9, 3.780198068473471*^9}}, - CellLabel-> - "In[258]:=",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR3", "[", - RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "+", "z", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9, {3.780198065667446*^9, 3.7801980939313602`*^9}}, - CellLabel-> - "In[259]:=",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"stated", "\[Equal]", "state"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, - 3.7750255772118697`*^9}, {3.7801982939260798`*^9, 3.7801982945854645`*^9}, - 3.7803127336358166`*^9, 3.780312966819764*^9}, - CellLabel-> - "In[260]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, {3.7748636325484133`*^9, - 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, - 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, - 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { - 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, - 3.7750256313100643`*^9}, {3.7803127945495996`*^9, 3.7803128141224346`*^9}}, - CellLabel-> - "In[261]:=",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}, - CellLabel-> - "In[262]:=",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, - CellLabel-> - "In[263]:=",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,79,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974087306*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,80,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974121656*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], - -Cell[BoxData[ - TemplateBox[{ - "Write","noopen", - "\"Cannot open \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\\\\\\\ -Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\ -\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\\\"}]\ -\\).\"",2,263,81,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974138799*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Write\\\", \\\"::\\\", \ -\\\"noopen\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,263,82,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129742971926`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], - -Cell[BoxData[ - TemplateBox[{ - "General","openx", - "\"\\!\\(\\*RowBox[{\\\"\\\\\\\"H:\\\\\\\\\\\\\\\\PettersDropbox\\\\\\\\\\\ -\\\\\\Dropbox\\\\\\\\\\\\\\\\HopsanComponents\\\\\\\\\\\\\\\\ActivityDiagram\\\ -\\\\\\\\\\\\\\ActivityDiagram\\\\\\\\\\\\\\\\ActivityDiagramAction.hpp\\\\\\\"\ -\\\"}]\\) is not open.\"",2,263,83,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974315183*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Ac\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"on\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,263, - 84,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974332173*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,85,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129743521605`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,263,86, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129743691516`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,87,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974384142*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,263,88, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.780312974488336*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,263,89,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129745043287`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,263,90,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.780312914887529*^9, - 3.7803129745183344`*^9}, - CellLabel-> - "During evaluation of \ -In[263]:=",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] -}, -WindowSize->{948, 482}, -WindowMargins->{{Automatic, 13}, {Automatic, 22}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 685, 14, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1923, 54, 1156, 17, 32, "Output",ExpressionUUID->"42a8cded-7c2b-4e1b-bdbc-efc3e7dede99", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[3094, 74, 414, 9, 48, "Input",ExpressionUUID->"a5795f19-20e6-4fe4-996e-0c4224394789"], -Cell[CellGroupData[{ -Cell[3533, 87, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3839, 96, 302, 5, 67, "Section",ExpressionUUID->"3d597773-8bb1-48e6-9d32-6c53852bc4f2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4144, 103, 1693, 37, 200, "Input",ExpressionUUID->"30323ed5-d8c2-4713-8616-0c957d426752", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5840, 142, 837, 13, 32, "Output",ExpressionUUID->"9fe442b1-8ad3-40e3-9c43-a1c1203f67ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6680, 157, 902, 16, 32, "Output",ExpressionUUID->"d54d8937-7727-4ae6-ae3d-78f3b4deefa5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7585, 175, 273, 6, 28, "Input",ExpressionUUID->"08535e74-7b0d-4a21-951d-5a86f4b367f3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7861, 183, 1001, 19, 86, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8865, 204, 332, 7, 28, "Input",ExpressionUUID->"c7f362e2-aacc-4e3f-88b0-66142906a019", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9200, 213, 683, 12, 28, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9886, 227, 2077, 35, 67, "Input",ExpressionUUID->"b61794f5-4c1b-4806-b168-4e11a52f0c57", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11966, 264, 458, 10, 28, "Input",ExpressionUUID->"7c2e5afa-98be-4edf-a178-7e4f6bf53ba5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12427, 276, 482, 10, 28, "Input",ExpressionUUID->"47f53566-9a38-4c76-93c4-09d40b799f8a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12912, 288, 557, 12, 67, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13472, 302, 2562, 41, 124, "Input",ExpressionUUID->"509e6d28-949d-4337-8cd7-f9b95184a065", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16037, 345, 271, 6, 28, "Input",ExpressionUUID->"4f7ec10b-7ba8-4186-a59f-1e42b2118039", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16311, 353, 267, 5, 28, "Input",ExpressionUUID->"aec8810d-f333-480d-bfe9-4a0406b2bde4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[16593, 361, 1804, 30, 21, "Message",ExpressionUUID->"f9ae1ee8-a24b-4e48-a174-56045b83f0a0"], -Cell[18400, 393, 1804, 30, 21, "Message",ExpressionUUID->"faaae5ad-65f0-405b-a86d-79a5cb710e22"], -Cell[20207, 425, 1804, 30, 21, "Message",ExpressionUUID->"5bf0a64b-1231-4430-bd16-7522a224246c"], -Cell[22014, 457, 1709, 28, 21, "Message",ExpressionUUID->"7c803583-69dc-4743-a94e-2e8a0da72ffa"], -Cell[23726, 487, 1803, 29, 21, "Message",ExpressionUUID->"71c8ae08-b63c-47da-bcca-bd726f15764f"], -Cell[25532, 518, 4723, 71, 76, "Message",ExpressionUUID->"39375aba-76e7-45b3-a453-8249b614dc56"], -Cell[30258, 591, 1639, 27, 21, "Message",ExpressionUUID->"710f5034-fffd-480a-8530-b30b9c66bcd8"], -Cell[31900, 620, 1811, 30, 21, "Message",ExpressionUUID->"5ab92dc8-0a6f-4987-9b77-3beeabc0b30d"], -Cell[33714, 652, 1637, 27, 21, "Message",ExpressionUUID->"7151b927-e1a4-43db-9c6c-8e24efe876b3"], -Cell[35354, 681, 1809, 30, 21, "Message",ExpressionUUID->"f5be27fb-8b37-4f74-b1d6-fb358b98e683"], -Cell[37166, 713, 1639, 27, 21, "Message",ExpressionUUID->"a175acdf-5734-4b1c-94a8-901752e3cd36"], -Cell[38808, 742, 1711, 28, 21, "Message",ExpressionUUID->"15bfc961-0be0-43fa-a169-b91e3587a8e2"] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg deleted file mode 100644 index 3a7c2b8..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml deleted file mode 100644 index ee00b72..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb deleted file mode 100644 index 52f6b3d..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.nb +++ /dev/null @@ -1,778 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 41013, 770] -NotebookOptionsPosition[ 38229, 702] -NotebookOutlinePosition[ 38656, 718] -CellTagsIndexPosition[ 38613, 715] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.7748612729007797`*^9, 3.7748618497859235`*^9, {3.7748626953077*^9, - 3.7748627161878867`*^9}, {3.7748627484267826`*^9, 3.774862765485217*^9}, - 3.774862936369943*^9, 3.774863011141906*^9, 3.774863651011017*^9, - 3.774863747863023*^9, 3.7748646800177937`*^9, 3.7748701468329983`*^9, - 3.7748702849075556`*^9, 3.7748706042064624`*^9, 3.7748707175002804`*^9, - 3.7748708482413254`*^9, 3.7748709807026653`*^9, 3.77498657158222*^9, - 3.775025888224593*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.7748612729167113`*^9, 3.7748618498089046`*^9, {3.7748626953736324`*^9, - 3.7748627162538195`*^9}, {3.7748627484957123`*^9, 3.7748627655511484`*^9}, - 3.774862936436874*^9, 3.774863011346696*^9, 3.7748636510949306`*^9, - 3.7748637479339495`*^9, 3.7748646800967164`*^9, 3.774870146916913*^9, - 3.77487028499047*^9, 3.7748706042923727`*^9, 3.7748707175821958`*^9, - 3.7748708483282356`*^9, 3.774870980786578*^9, 3.774986571677526*^9, - 3.775025888350546*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["Action", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.774856518932431*^9, 3.774856520029351*^9}, 3.774861262095235*^9, - 3.7748618470267663`*^9}, - ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.77485650920687*^9, - 3.774856514950308*^9}, 3.7748612639428415`*^9, 3.7748618470267663`*^9, { - 3.7748863536595154`*^9, 3.7748864180854287`*^9}}, - ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888593295*^9}], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "17", ",", "12", ",", "18", ",", - "8.4963944`8.681809631360546"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7748612729476795`*^9, {3.7748618470277653`*^9, - 3.774861849850853*^9}, {3.7748626955005016`*^9, 3.7748627163886805`*^9}, { - 3.774862748627576*^9, 3.7748627656810155`*^9}, 3.774862936566741*^9, - 3.7748630115315046`*^9, 3.77486365125976*^9, 3.7748637480708084`*^9, - 3.7748646802495584`*^9, 3.7748701470797434`*^9, 3.7748702851493063`*^9, - 3.77487060445021*^9, 3.774870717740034*^9, 3.774870848499059*^9, - 3.7748709809564033`*^9, 3.774986571863336*^9, 3.775025888597291*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748626773957825`*^9, 3.774862685600051*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774971588116584*^9, 3.774971621458659*^9}, - 3.7749719205128927`*^9}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "holdEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.775025781047347*^9, 3.7750257815123925`*^9}, {3.775025834250453*^9, - 3.775025850421156*^9}}, - ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"outputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "state", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.4779981058619356`*^9, 3.4779981542683554`*^9}, - 3.4780017782035847`*^9, {3.478002203430644*^9, 3.478002217153696*^9}, { - 3.478002277203772*^9, 3.4780023021490927`*^9}, {3.4780026209521627`*^9, - 3.478002664340765*^9}, {3.478021796078125*^9, 3.478021842203125*^9}, { - 3.478021885296875*^9, 3.47802199571875*^9}, {3.47802539628125*^9, - 3.478025479125*^9}, {3.478026054375*^9, 3.47802606034375*^9}, { - 3.47818056640625*^9, 3.47818064359375*^9}, {3.478184752578125*^9, - 3.478184788859375*^9}, {3.4781848254375*^9, 3.47818487890625*^9}, { - 3.47818496809375*^9, 3.478184980140625*^9}, {3.478189354859375*^9, - 3.478189379078125*^9}, {3.478582964046875*^9, 3.478583058015625*^9}, { - 3.47858310040625*^9, 3.478583226265625*^9}, {3.47858493834375*^9, - 3.478584967203125*^9}, {3.478593422734375*^9, 3.47859344625*^9}, { - 3.478593494703125*^9, 3.478593496375*^9}, {3.47859361503125*^9, - 3.478593622828125*^9}, {3.478593687*^9, 3.4785936875*^9}, { - 3.47860846046875*^9, 3.478608468515625*^9}, {3.478614677703125*^9, - 3.478614712453125*^9}, {3.47861477634375*^9, 3.4786147769375*^9}, { - 3.47861500284375*^9, 3.478615012546875*^9}, 3.50427041823978*^9, { - 3.504271184564065*^9, 3.50427119129844*^9}, {3.504271245001565*^9, - 3.50427125876719*^9}, 3.515900544738135*^9, {3.515917582755333*^9, - 3.5159176015052133`*^9}, {3.5160340846875*^9, 3.516034092609375*^9}, { - 3.51608751278125*^9, 3.51608752384375*^9}, 3.605409440222421*^9, { - 3.7632897318498783`*^9, 3.763289752695697*^9}, {3.763555436824448*^9, - 3.763555441278854*^9}, 3.7748618470277653`*^9, {3.774864662685793*^9, - 3.774864663355605*^9}}, - ExpressionUUID -> "b61794f5-4c1b-4806-b168-4e11a52f0c57"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"OR", "[", - RowBox[{"x_", ",", "y_"}], "]"}], ":=", - RowBox[{"onPositive", "[", - RowBox[{"x", "+", "y", "-", "0.5"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763547663225431*^9, 3.7635476971224737`*^9}, - 3.7748618470277653`*^9}], - -Cell["\<\ -expressions = { - cpn2r == OnPositive[spn1 + limits[qpn1, -1, 1] - 0.5], - cpn1r == OnPositive[spn1 + limits[qpn2, -1, 1] - 0.5], - spn1 == cpn1r, - spn2 == cpn2r, - state == OR[spn1, spn2] - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, 3.7748700995859013`*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent", "\[Equal]", "event"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "0."}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.774783253698371*^9, 3.774971906112005*^9, {3.7750255655005226`*^9, - 3.7750255772118697`*^9}}, - ExpressionUUID -> "6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"iEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "+", - RowBox[{"holdEvent", "*", "oldiEvent", "*", "state"}], "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", - RowBox[{"state", " ", "iEvent"}]}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"oldiEvent", "\[Equal]", "iEvent"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, {3.7748565796257267`*^9, - 3.774856603480303*^9}, 3.7748618470277653`*^9, 3.7748627604755044`*^9, { - 3.7748629185077543`*^9, 3.7748629260418463`*^9}, {3.7748630026893625`*^9, - 3.7748630040421524`*^9}, {3.7748636325484133`*^9, - 3.7748636469639053`*^9}, {3.774863739468359*^9, 3.7748637410752134`*^9}, - 3.774870123426722*^9, {3.774870259400592*^9, 3.774870277122533*^9}, - 3.7749715341884336`*^9, {3.7749715704765964`*^9, 3.7749715741303487`*^9}, { - 3.775025438541661*^9, 3.775025508326749*^9}, {3.7750256211576815`*^9, - 3.7750256313100643`*^9}, {3.775025772158289*^9, 3.7750257746841974`*^9}, - 3.775025819211686*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862727374318*^9, 3.774862746875368*^9}}], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618470287647`*^9, 3.774862692709778*^9}, - ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Activi\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"mAction\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\ -\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\ -\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramAction.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0.5\\\ -\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"1\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"90\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"state\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,1156, - 361,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258898919215`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,362,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899628477`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,1156,363, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258899898195`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,364,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900197887`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,1156,365, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900467606`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,1156,366,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890073733*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,1156,367,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258900997066`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,1156,368,16167503661247200239, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.775025890127678*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,1156,369,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7748612730880413`*^9, {3.7748618470307627`*^9, - 3.774861850012192*^9}, {3.774862695914073*^9, 3.7748627167887745`*^9}, { - 3.7748627491114388`*^9, 3.7748627662139416`*^9}, 3.774862937098192*^9, - 3.7748630120849338`*^9, 3.774863652144906*^9, 3.7748637487141438`*^9, - 3.774864681180854*^9, 3.774870147764037*^9, 3.774870285797638*^9, - 3.7748706052863464`*^9, 3.7748707185472*^9, 3.774870849374157*^9, - 3.7748709818644667`*^9, 3.7749865729363995`*^9, 3.7750258901536503`*^9}, - ExpressionUUID -> "f03dda11-b013-4c4f-b533-9b7aeca16382"] -}, -WindowSize->{1091, 684}, -WindowMargins->{{197, Automatic}, {23, Automatic}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 1097, 16, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3524, 77, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4188, 92, 1108, 16, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5299, 110, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5581, 118, 304, 5, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5888, 125, 1669, 36, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7560, 163, 726, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8289, 175, 791, 13, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9083, 190, 190, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9276, 196, 977, 18, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10256, 216, 444, 11, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10703, 229, 970, 18, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11676, 249, 2053, 34, 69, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13732, 285, 329, 8, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14064, 295, 1862, 31, 144, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15929, 328, 517, 12, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16449, 342, 2892, 48, 164, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19344, 392, 188, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19535, 398, 243, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[19793, 405, 5235, 76, 76, "Message"], -Cell[25031, 483, 1568, 24, 21, "Message"], -Cell[26602, 509, 1740, 27, 21, "Message"], -Cell[28345, 538, 1568, 24, 21, "Message"], -Cell[29916, 564, 1740, 27, 21, "Message"], -Cell[31659, 593, 1566, 24, 21, "Message"], -Cell[33228, 619, 1640, 25, 21, "Message"], -Cell[34871, 646, 1708, 27, 21, "Message"], -Cell[36582, 675, 1643, 25, 21, "Message"] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg deleted file mode 100644 index 5235120..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction1.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp deleted file mode 100644 index 76c3ad9..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.hpp +++ /dev/null @@ -1,152 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramActionN.hpp -//! @author Petter Krus, Robert Braun, Emilia Villani -//! @date 2019-08-15 -//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson -//! @brief Contains a Electric Volume Component -//! - -#ifndef ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED -#define ACTIVITYDIAGRAMACTIONN_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A StateMachine state component - //! @ingroup StateMachine - //! - class ActivityDiagramActionN : public ComponentC - { - - private: - double state; - double *mpAlpha; - double *mpstate; -// double capacitance; - - std::vector mvpN_s, mvpN_q; - std::vector mvp_S0; - size_t mNumPorts; - Port *mpPpn1; - - std::mutex mTokenMutex; - bool mTokenLocked; - - public: - static Component *Creator() - { - return new ActivityDiagramActionN(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); -// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); - addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); - addOutputVariable("state","State activated","",0.,&mpstate); - } - - - void initialize() - { - double alpha; - double state; - alpha = (*mpAlpha); - - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvpN_q.resize(mNumPorts); - mvp_S0.resize(mNumPorts); - - for (size_t i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.xml deleted file mode 100644 index 4fe92f0..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg deleted file mode 100644 index a772e5f..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramActionN_active.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg deleted file mode 100644 index 4e52d02..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_action.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg deleted file mode 100644 index bd6ec35..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramAction_active.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp deleted file mode 100644 index 71d7446..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.hpp +++ /dev/null @@ -1,155 +0,0 @@ -#ifndef ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED -#define ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramConnector.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 15 Aug 2019 15:00:38 -//! @brief Connector between Q-components -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramConnector.nb*/ - -using namespace hopsan; - -class ActivityDiagramConnector : public ComponentC -{ -private: - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //InitialExpressions variables - double stated; - //Expressions variables - double state; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramConnector(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - spn1 = state; - spn2 = state; - stated = state; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - qpn1 = (*mpP_qpn1); - //Port Ppn2 - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - state = onPositive(-0.5 + qpn1 + qpn2 + stated); - spn1 = state; - spn2 = state; - stated = state; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_spn1)=spn1; - //Port Ppn2 - (*mpP_spn2)=spn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMCONNECTOR_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb deleted file mode 100644 index 2b68516..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.nb +++ /dev/null @@ -1,551 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 28673, 543] -NotebookOptionsPosition[ 26548, 489] -NotebookOutlinePosition[ 26976, 505] -CellTagsIndexPosition[ 26933, 502] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795581896713*^9, - 3.774861290427595*^9, 3.7748618675437913`*^9, 3.7748628376552143`*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955819626927`*^9, - 3.77486129045057*^9, 3.7748618675707636`*^9, 3.774862837718149*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Connector", "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.76326139564559*^9, 3.763261396833707*^9}, { - 3.7651000854987707`*^9, 3.765100087443925*^9}, {3.7653865322639866`*^9, - 3.7653865340311356`*^9}, {3.7748562895395265`*^9, 3.77485628999905*^9}, - 3.7748618642499804`*^9}, - ExpressionUUID -> "3d597773-8bb1-48e6-9d32-6c53852bc4f2"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137112151875*^9, 3.513711217109375*^9}, { - 3.51378596903125*^9, 3.513785980671875*^9}, {3.513786401703125*^9, - 3.51378641190625*^9}, 3.5153945400188417`*^9, {3.5719276782001615`*^9, - 3.5719276783561616`*^9}, 3.5757729448720746`*^9, 3.57577312705343*^9, - 3.605856906503504*^9, {3.763261401039956*^9, 3.7632614245461197`*^9}, - 3.763261486937274*^9, 3.7635554640323896`*^9, {3.7651000790778112`*^9, - 3.765100080702778*^9}, {3.7653865380490265`*^9, 3.7653865624643803`*^9}, - 3.774856291577958*^9, 3.7748618642509794`*^9, {3.7753176502934604`*^9, - 3.775317651851361*^9}}, - ExpressionUUID -> "30323ed5-d8c2-4713-8616-0c957d426752"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "15", ",", "15", ",", "0", ",", - "37.7880757`9.329929664938739"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7635554294001036`*^9, 3.763555472659489*^9}, - 3.763555509393605*^9, 3.7651000962570324`*^9, 3.765386594754282*^9, - 3.76538691023928*^9, {3.7653869665779047`*^9, 3.765387006151044*^9}, - 3.774861290488532*^9, {3.7748618642509794`*^9, 3.7748618676217117`*^9}, - 3.7748628378510113`*^9}, - ExpressionUUID -> "9d107ea6-e9fe-41c6-a8e7-5bcedeab53a6"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862824750338*^9, 3.774862835795474*^9}}], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetCnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, - 3.7748563175374947`*^9, {3.7748564011997128`*^9, 3.7748564081021047`*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"spn1", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "\[Equal]", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "\[Equal]", "state"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.763289864104106*^9, 3.763289897920729*^9}, { - 3.7635474793820314`*^9, 3.763547509099383*^9}, {3.765176052051984*^9, - 3.7651760911784735`*^9}, {3.765386969540123*^9, 3.7653869746931953`*^9}, { - 3.774856340135704*^9, 3.774856341714076*^9}, 3.7748618642509794`*^9}, - ExpressionUUID -> "3d8202ca-d0f5-49af-a79f-b899cac3e64e"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"state", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{"stated", "+", "qpn1", "+", "qpn2", "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"spn1", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"spn2", "==", "state"}], ",", "\[IndentingNewLine]", - RowBox[{"stated", "==", "state"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5137867835*^9, 3.51378678615625*^9}, { - 3.513786819765625*^9, 3.513786836640625*^9}, {3.515774316984375*^9, - 3.515774329265625*^9}, 3.515900993277747*^9, {3.515901069901766*^9, - 3.51590115582348*^9}, 3.51590123047973*^9, 3.51590130276098*^9, { - 3.515901354682855*^9, 3.51590137691723*^9}, {3.5159023172550154`*^9, - 3.5159023331768904`*^9}, {3.515917393865917*^9, 3.5159173987252607`*^9}, { - 3.516031307734375*^9, 3.51603130809375*^9}, {3.516105630796875*^9, - 3.51610563796875*^9}, {3.516296275453125*^9, 3.516296276140625*^9}, { - 3.516350716859375*^9, 3.516350735953125*^9}, {3.5170224693432956`*^9, - 3.5170224723120646`*^9}, {3.5170375501720247`*^9, 3.517037561765849*^9}, { - 3.532020812921875*^9, 3.532020814265625*^9}, {3.5719277375426655`*^9, - 3.571927759008303*^9}, {3.7632895941054754`*^9, 3.763289623432971*^9}, { - 3.763289666706191*^9, 3.763289671400625*^9}, {3.763289757822764*^9, - 3.7632898416709385`*^9}, {3.7635474665352807`*^9, 3.763547467525259*^9}, { - 3.763547528268615*^9, 3.763547585669416*^9}, {3.763547626460348*^9, - 3.763547653668288*^9}, {3.76354770909213*^9, 3.763547735259143*^9}, { - 3.7635477914192247`*^9, 3.76354782225842*^9}, {3.7635478919715247`*^9, - 3.763547969476592*^9}, 3.7635546574542184`*^9, 3.7651039003541737`*^9, { - 3.7651759614596443`*^9, 3.7651760366289396`*^9}, {3.765176095975005*^9, - 3.7651760975217886`*^9}, 3.7653868967327237`*^9, {3.774856340612213*^9, - 3.774856358031646*^9}, 3.7748618642509794`*^9}, - ExpressionUUID -> "509e6d28-949d-4337-8cd7-f9b95184a065"], - -Cell[BoxData[ - RowBox[{"stated", "=."}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7653869016535296`*^9, 3.7653869038928185`*^9}, - 3.77486186425198*^9, 3.7748628357964735`*^9}], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7748618642529783`*^9, 3.7748628357964735`*^9}, - ExpressionUUID -> "aec8810d-f333-480d-bfe9-4a0406b2bde4"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ -\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramConnector.svg\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\ -\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \ -\\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.6666666666666666`\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\ -\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,602,168,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628382695794`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,169,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838305542*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,602,170, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383325143`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,171,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.7748628383594866`*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,602,172, - 16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838387458*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,602,173,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838415429*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,602,174,16167503661247200239,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{ - 3.5757730376898375`*^9, 3.575773140505853*^9, 3.575773171674708*^9, - 3.5757732459312596`*^9, 3.57577337871232*^9, 3.575773437689036*^9, { - 3.5757736068026357`*^9, 3.575773631680291*^9}, 3.575773964573552*^9, - 3.5757742577284737`*^9, 3.5757743037687798`*^9, 3.575774383957745*^9, - 3.5757744581883354`*^9, 3.5757745324295645`*^9, 3.5757745960243807`*^9, - 3.575774636157867*^9, 3.5757747246884623`*^9, 3.575779425878719*^9, - 3.575785968311123*^9, 3.5757864542818437`*^9, 3.5757868538620157`*^9, - 3.5758175885229187`*^9, 3.578816692641367*^9, 3.5814060107874413`*^9, - 3.5814061612660484`*^9, 3.5814062947836847`*^9, 3.6031910270993757`*^9, - 3.6054095240498033`*^9, {3.7635554295259733`*^9, 3.7635554727523937`*^9}, - 3.7635555094785175`*^9, 3.7651000975310903`*^9, 3.7653865949111214`*^9, - 3.7653869104420753`*^9, {3.7653869668556175`*^9, 3.7653870063548346`*^9}, - 3.7748612906263895`*^9, 3.774861864253978*^9, 3.774862838442401*^9}, - ExpressionUUID -> "167b2bea-209f-456f-b205-bce89352fad9"] -}, -WindowSize->{1050, 735}, -WindowMargins->{{Automatic, 322}, {Automatic, 118}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 702, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3129, 71, 661, 13, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3793, 86, 706, 10, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4502, 98, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4784, 106, 404, 6, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5191, 114, 1753, 38, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6947, 154, 583, 11, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7533, 167, 188, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7724, 173, 977, 18, 88, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8704, 193, 768, 14, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9475, 209, 2152, 35, 126, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11630, 246, 224, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11857, 252, 245, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[12117, 259, 6339, 89, 130, "Message"], -Cell[18459, 350, 1275, 20, 21, "Message"], -Cell[19737, 372, 1449, 23, 21, "Message"], -Cell[21189, 397, 1277, 20, 21, "Message"], -Cell[22469, 419, 1447, 23, 21, "Message"], -Cell[23919, 444, 1275, 20, 21, "Message"], -Cell[25197, 466, 1347, 21, 21, "Message"] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg deleted file mode 100644 index 30d89f2..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml deleted file mode 100644 index 787a5d5..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramConnector.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp deleted file mode 100644 index 91effe0..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.hpp +++ /dev/null @@ -1,244 +0,0 @@ -#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED -#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -//! -//! @file ActivityDiagramDecision.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:23:44 -//! @brief If selection for state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramDecision.nb*/ - -using namespace hopsan; - -class ActivityDiagramDecision : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event2; - double event3; - //outputVariables - //InitialExpressions variables - double oldEvent2; - double oldEvent3; - //Expressions variables - double dEvent2; - double dEvent3; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent2; - double *mpevent3; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramDecision(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event2","trigger on positive \ -flank","",0.,&mpevent2); - addInputVariable("event3","trigger on positive \ -flank","",0.,&mpevent3); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent2 = event2; - oldEvent3 = event3; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); - - //Preventing creation of extra token - double qpn20 = dEvent2*onPositive(spn1 - spn2); - double qpn30 = dEvent3*onPositive(spn1 - spn3); - bool successP1; - bool successP2; - bool successP3; - - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - - if(qpn20 > 0 || qpn30 > 0) { - successP1 = true; - //Try to lock P1 - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP1 = component->tryAndLockToken(); - } - } - } - //Try to lock P2 - if(qpn20 > 0) { - successP2 = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP2 = component->tryAndLockToken(); - } - } - } - //Try to lock P3 - if(qpn30 > 0) { - successP3 = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP3 = component->tryAndLockToken(); - } - } - } - if(qpn20 > 0 || qpn30 > 0) { - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successP1 && successP2) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent2*onPositive(spn1 - spn2); - } - if(successP1 && successP3) { - qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); - } - } - qpn1 = -onPositive(-0.5 + qpn2 + qpn3); - oldEvent2 = event2; - oldEvent3 = event3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb deleted file mode 100644 index 975f7d6..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.nb +++ /dev/null @@ -1,746 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 40147, 738] -NotebookOptionsPosition[ 35550, 665] -NotebookOutlinePosition[ 35968, 681] -CellTagsIndexPosition[ 35925, 678] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[64]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.7747982976294117`*^9, - 3.774798305629897*^9}}, - CellLabel->"In[65]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7839336026642847`*^9}, - CellLabel->"Out[65]=",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7839335960458083`*^9}, - CellLabel->"In[66]:=",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.783933602781729*^9}, - CellLabel->"Out[66]=",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[67]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Decision", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.755021377179763*^9, 3.7550213776352935`*^9}, {3.7551010992251368`*^9, - 3.7551011067453823`*^9}, {3.7552806950102434`*^9, 3.755280707559305*^9}, { - 3.7552808134950852`*^9, 3.755280835886998*^9}, 3.7571794848474817`*^9, { - 3.7653654640344186`*^9, 3.765365465561455*^9}, {3.7747937389060163`*^9, - 3.7747937761626363`*^9}, - 3.7747942097903123`*^9},ExpressionUUID->"579c246d-7234-4bbc-a83d-\ -653b42f152d9"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, - 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.755021382930831*^9, 3.7550214033397913`*^9}, { - 3.755101114360531*^9, 3.7551011191455984`*^9}, {3.755101168038189*^9, - 3.7551011721439543`*^9}, {3.755280720238233*^9, 3.7552807489446363`*^9}, { - 3.7552808264926853`*^9, 3.7552808399757824`*^9}, 3.757179487096159*^9, { - 3.7653654729463096`*^9, 3.7653654743850803`*^9}, {3.7747937498138437`*^9, - 3.7747937597243137`*^9}, 3.774794209791312*^9, 3.7753178059060497`*^9}, - CellLabel->"In[68]:=",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, - 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, - 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { - 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, - 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, - 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, - 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, - 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, - 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, - 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, - 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, - 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, - 3.775317823771299*^9, 3.7839336029684124`*^9}, - CellLabel->"Out[73]=",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "28", ",", "13", ",", "40", ",", - "2.8902734`8.21351390967783"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, {3.755021329018415*^9, 3.7550213665227485`*^9}, - 3.7550303361670485`*^9, 3.75509948840012*^9, 3.755099526958366*^9, - 3.7550997876705723`*^9, {3.755099820283948*^9, 3.75509982687815*^9}, { - 3.7551002782832775`*^9, 3.7551002917983437`*^9}, 3.7551003528322644`*^9, - 3.755100442002329*^9, 3.755100477968249*^9, 3.755100585680197*^9, - 3.755101132745575*^9, 3.7551013081956844`*^9, {3.7551015577480392`*^9, - 3.7551015772489343`*^9}, 3.7551017587433357`*^9, 3.7551045059350233`*^9, - 3.7552831648088813`*^9, 3.757179814550045*^9, {3.757437878596813*^9, - 3.75743788971733*^9}, 3.7574481003314004`*^9, 3.763203498934745*^9, - 3.763203573039265*^9, 3.7632048221363173`*^9, 3.7632050097741833`*^9, - 3.765365811250082*^9, 3.774794209791312*^9, 3.774795582092512*^9, - 3.7748613015248985`*^9, 3.774861875518277*^9, 3.7748629660436335`*^9, - 3.775317823771299*^9, 3.7839336029684124`*^9}, - CellLabel->"Out[77]=",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7753178114071627`*^9, 3.7753178126798496`*^9}}, - CellLabel->"In[78]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"{", - RowBox[{ - "event2", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], ",", - "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event3", ",", " ", "0.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}]}], "\n", " ", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, {3.7550211707735662`*^9, 3.7550212091549945`*^9}, { - 3.7550213368433485`*^9, 3.755021361930483*^9}, {3.7551002377111077`*^9, - 3.755100273841857*^9}, {3.755100337895664*^9, 3.7551003437256527`*^9}, - 3.7551004328008165`*^9, {3.755100578582515*^9, 3.755100578669425*^9}, { - 3.7551014342164*^9, 3.7551014381583347`*^9}, {3.755101493431348*^9, - 3.755101495198529*^9}, {3.755101546333806*^9, 3.7551015485175548`*^9}, - 3.755280763360775*^9, {3.757179509086452*^9, 3.7571795220091095`*^9}, { - 3.757179560664197*^9, 3.7571795619668493`*^9}, 3.7747942097923093`*^9}, - CellLabel->"In[79]:=",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffevent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942097923093`*^9}, - CellLabel->"In[80]:=",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"oldEvent2", "\[Equal]", "event2"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent3", "\[Equal]", "event3"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7655533786392612`*^9, 3.765553382135273*^9}, - 3.765553549418847*^9, {3.765555534690852*^9, 3.765555545228863*^9}, - 3.7749722366624327`*^9}, - CellLabel->"In[81]:=",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent2", "==", - RowBox[{"onPositive", "[", - RowBox[{"event2", "-", - RowBox[{"diffevent", " ", "oldEvent2"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"dEvent3", "==", - RowBox[{"onPositive", "[", - RowBox[{"event3", "-", - RowBox[{"diffevent", " ", "oldEvent3"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent2", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"dEvent3", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn3"}], "]"}], - RowBox[{"(", - RowBox[{"1", "-", "qpn2"}], ")"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{"-", - RowBox[{"onPositive", "[", - RowBox[{"qpn2", "+", "qpn3", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"oldEvent2", "==", "event2"}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent3", "==", "event3"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.755021228933604*^9, - 3.755021278948039*^9}, {3.7550991045618577`*^9, 3.755099112472701*^9}, { - 3.755099168634801*^9, 3.7550992698544407`*^9}, {3.7550993152716155`*^9, - 3.755099358142417*^9}, {3.7550994059501266`*^9, 3.7550994196639867`*^9}, - 3.7550995178927135`*^9, 3.7551004381113434`*^9, 3.7551045016584373`*^9, { - 3.7552807682737083`*^9, 3.755280770768137*^9}, {3.757179542215247*^9, - 3.757179752373249*^9}, {3.7574378471313057`*^9, 3.757437865501336*^9}, - 3.757448097268563*^9, {3.7595689924690266`*^9, 3.759568992946535*^9}, { - 3.76320347871198*^9, 3.763203482457853*^9}, {3.7632045298557444`*^9, - 3.7632045309021263`*^9}, {3.763204981137596*^9, 3.7632049858229017`*^9}, { - 3.7655555913655677`*^9, 3.765555595465226*^9}, {3.774793862135045*^9, - 3.7747938673846397`*^9}, {3.7747939015294933`*^9, 3.7747939124081473`*^9}, - 3.7747942097923093`*^9}, - CellLabel->"In[82]:=",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.75509983772097*^9, 3.7550998382344413`*^9}, - 3.7747942097923093`*^9}, - CellLabel->"In[83]:=",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\ -ActivityDiagramDecision.hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755099839466172*^9, {3.7551002784451103`*^9, 3.755100291957179*^9}, - 3.7551003529920993`*^9, 3.7551004421621637`*^9, 3.7551004781310806`*^9, - 3.7551005858670053`*^9, 3.7551011329084063`*^9, 3.755101308363512*^9, { - 3.755101557911868*^9, 3.7551015773578196`*^9}, 3.755101758976097*^9, - 3.755104506123829*^9, 3.755283164925761*^9, 3.7571798146669254`*^9, { - 3.757437883899338*^9, 3.7574378898442*^9}, 3.7574481005791445`*^9, - 3.763203499779257*^9, 3.7632035734960213`*^9, 3.763204822587062*^9, - 3.7632050102229333`*^9, 3.7653658113939333`*^9, 3.7747942097933083`*^9, - 3.774795582508052*^9, 3.7748629664251757`*^9, 3.775317824124934*^9, - 3.7839336034559755`*^9}, - CellLabel->"Out[83]=",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942097933083`*^9}, - CellLabel->"In[84]:=",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramDecision\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"di\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"ame\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ -\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"e\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramDecision.svg\\\\\\\"\\\"}]}], \\\"}\\\ -\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.6666666666666666`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\ -\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\ -\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,84,31,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933603848233*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,32,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336039082193`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 84,33,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041041718`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,34,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041281643`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,84,35,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.783933604148158*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,84,36,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336041721535`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,84,37,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336042886777`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 84,38,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043043046`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,84,39,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, {3.755021329155275*^9, 3.755021366659608*^9}, - 3.7550303363828263`*^9, 3.755099488643869*^9, 3.755099527170148*^9, - 3.7550997878733644`*^9, {3.7550998204387884`*^9, 3.7550998270959263`*^9}, { - 3.7551002785250273`*^9, 3.7551002920360975`*^9}, 3.7551003530740137`*^9, - 3.7551004422470765`*^9, 3.7551004782090006`*^9, 3.755100585945923*^9, - 3.755101133012299*^9, 3.755101308445428*^9, {3.7551015579927855`*^9, - 3.7551015780371203`*^9}, 3.7551017590570126`*^9, 3.7551045062177305`*^9, - 3.7552831650126696`*^9, 3.7571798149016824`*^9, {3.7574378852958965`*^9, - 3.757437889949091*^9}, 3.7574481008258905`*^9, 3.7632035003979006`*^9, - 3.7632035736738987`*^9, 3.763204822793942*^9, 3.7632050104028273`*^9, - 3.7653658114788456`*^9, 3.7747942097933083`*^9, 3.774795582694857*^9, - 3.774862966540056*^9, 3.7753178242947607`*^9, 3.7839336043199244`*^9}, - CellLabel-> - "During evaluation of \ -In[84]:=",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def"] -}, Open ]] -}, -WindowSize->{862, 669}, -WindowMargins->{{Automatic, 0}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 681, 13, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[1927, 53, 253, 3, 32, "Output",ExpressionUUID->"1a41fbbe-4cae-413c-9835-7598e46f812a"], -Cell[2183, 58, 535, 11, 48, "Input",ExpressionUUID->"3942318d-c5ab-4bbb-b9f9-af1d93363738", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2721, 71, 270, 3, 32, "Output",ExpressionUUID->"6e065920-ee9c-4f29-ad85-37cfb9be7634"], -Cell[CellGroupData[{ -Cell[3016, 78, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3318, 86, 697, 11, 67, "Section",ExpressionUUID->"579c246d-7234-4bbc-a83d-653b42f152d9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4018, 99, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4599, 112, 2053, 42, 200, "Input",ExpressionUUID->"c12350b7-5012-4a2e-bec0-d7181fc31046", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6655, 156, 1224, 17, 32, "Output",ExpressionUUID->"565c5faf-895b-4afd-a9ec-6c5289b0951e", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7882, 175, 1289, 20, 32, "Output",ExpressionUUID->"de71617e-5329-4b4c-90a5-a75119ee28f7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9174, 197, 1123, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10300, 220, 1641, 29, 86, "Input",ExpressionUUID->"84b1787a-183b-4920-a69d-4df94c20bba2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11944, 251, 487, 11, 67, "Input",ExpressionUUID->"0c74128b-2532-4223-a2a4-740b1043b57b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12434, 264, 601, 12, 86, "Input",ExpressionUUID->"e5511e4a-3353-4719-a540-40dff57756df", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13038, 278, 2872, 54, 181, "Input",ExpressionUUID->"3cfb1a01-c132-42a5-9718-0d816c76266d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15913, 334, 259, 4, 28, "Input",ExpressionUUID->"2ac98d27-7834-4af5-8633-0d47fd58d28b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16175, 340, 1021, 15, 52, "Output",ExpressionUUID->"b052cbd8-eb76-426e-934e-f2f7007b974a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17199, 357, 241, 4, 28, "Input",ExpressionUUID->"15f971df-cb2f-4ac0-8bbd-ca375d983568", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17443, 363, 6648, 98, 148, "Message",ExpressionUUID->"76ff43ed-3ee0-4554-a868-23fe63b7c7b4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24094, 463, 1356, 22, 21, "Message",ExpressionUUID->"dfa857ec-dcfe-42a8-9bec-6439f25007b7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25453, 487, 1498, 24, 21, "Message",ExpressionUUID->"09d2bd23-7376-46e8-9475-096e75678d98", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26954, 513, 1356, 22, 21, "Message",ExpressionUUID->"6a5823bc-facd-4a54-bcfd-26e0fa38e28d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28313, 537, 1496, 25, 21, "Message",ExpressionUUID->"ac828d08-81de-41ce-ada3-e69cfc0a22cf", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29812, 564, 1356, 22, 21, "Message",ExpressionUUID->"007fff6f-42a3-4aca-b643-f8f2aca075c0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31171, 588, 1428, 23, 21, "Message",ExpressionUUID->"c519699f-3054-42fd-b694-3a18e2e4fcff", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[32602, 613, 1498, 24, 21, "Message",ExpressionUUID->"38d286a5-2bd2-4211-92d5-4572295974f6", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[34103, 639, 1431, 23, 21, "Message",ExpressionUUID->"2e2c0e96-81cd-4686-a8fb-6e8f22e38def", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg deleted file mode 100644 index 18ccd87..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.svg +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml deleted file mode 100644 index a0393ff..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp deleted file mode 100644 index 7d939f7..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramDecision0.hpp +++ /dev/null @@ -1,242 +0,0 @@ -#ifndef ACTIVITYDIAGRAMDECISION_HPP_INCLUDED -#define ACTIVITYDIAGRAMDECISION_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -su -//! -//! @file ActivityDiagramDecision.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:23:44 -//! @brief If selection for state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramDecision.nb*/ - -using namespace hopsan; - -class ActivityDiagramDecision : public ComponentQ -{ -private: - double diffevent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event2; - double event3; - //outputVariables - //InitialExpressions variables - double oldEvent2; - double oldEvent3; - //Expressions variables - double dEvent2; - double dEvent3; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent2; - double *mpevent3; - //inputParameters pointers - double *mpdiffevent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramDecision(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event2","trigger on positive \ -flank","",0.,&mpevent2); - addInputVariable("event3","trigger on positive \ -flank","",0.,&mpevent3); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffevent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent2 = event2; - oldEvent3 = event3; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event2 = (*mpevent2); - event3 = (*mpevent3); - - //Read inputParameters from nodes - diffevent = (*mpdiffevent); - - //LocalExpressions - - //Expressions - dEvent2 = onPositive(-0.5 + event2 - diffevent*oldEvent2); - dEvent3 = onPositive(-0.5 + event3 - diffevent*oldEvent3); - - //Preventing creation of extra token - double qpn20 = dEvent2*onPositive(spn1 - spn2); - double qpn30 = dEvent3*onPositive(spn1 - spn3); - - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - - if(qpn20 > 0 || qpn30 > 0) { - bool successP1 = true; - //Try to lock P1 - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP1 = component->tryAndLockToken(); - } - } - } - //Try to lock P2 - if(qpn20 > 0) { - bool successP2 = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP2 = component->tryAndLockToken(); - } - } - } - //Try to lock P3 - if(qpn30 > 0) { - bool successP3 = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successP3 = component->tryAndLockToken(); - } - } - } - if(qpn20 > 0 || qpn30 > 0) { - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successP1 && successP2) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent2*onPositive(spn1 - spn2); - } - if(successP1 && successP3) { - qpn3 = dEvent3*(1 - qpn2)*onPositive(spn1 - spn3); - } - } - qpn1 = -onPositive(-0.5 + qpn2 + qpn3); - oldEvent2 = event2; - oldEvent3 = event3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMDECISION_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp deleted file mode 100644 index 5317f42..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.hpp +++ /dev/null @@ -1,198 +0,0 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -#include "ActivityDiagramActionN.hpp" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - - qpn1 = 0; - qpn2 = 0; - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - double drop = onPositive(-0.5 + spn1 - spn2); - if(dEvent > 0 && drop > 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb deleted file mode 100644 index 6008888..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.nb +++ /dev/null @@ -1,738 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 36438, 730] -NotebookOptionsPosition[ 31015, 645] -NotebookOutlinePosition[ 31464, 662] -CellTagsIndexPosition[ 31421, 659] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[173]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel-> - "In[174]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, - 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, - 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, - 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, - 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, - 3.780138923762919*^9}, - CellLabel-> - "Out[174]=",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, - CellLabel-> - "In[175]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}}, - CellLabel-> - "Out[175]=",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { - 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, - CellLabel-> - "In[176]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, - 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, - 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, - 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, - 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, - 3.7801336300384307`*^9, 3.7801389239780316`*^9}, - CellLabel-> - "Out[176]=",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7"] -}, Open ]], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input",ExpressionUUID->\ -"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[196]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Edge", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, - 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, - 3.774781001216793*^9}, {3.774861337479744*^9, - 3.774861338502689*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ -1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940389271574`*^9}, - 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { - 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { - 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, - 3.77478102110835*^9}, 3.7749717143792067`*^9}, - CellLabel-> - "In[197]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9}, - CellLabel-> - "Out[202]=",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "16", ",", "9", ",", "5", ",", - "34.9215023`9.29566781492157"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350214443`*^9}, - CellLabel-> - "Out[206]=",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, - CellLabel-> - "In[207]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}}, - CellLabel-> - "In[208]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272249647017`*^9, - 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, - 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, - CellLabel-> - "In[209]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, - CellLabel-> - "In[210]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell["\<\ -outputVariables = { - {dEvent, 0., double, \"\", \"state\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, - 3.7627280783297443`*^9, 3.7749718981811323`*^9, - 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ -f858f9817189"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", - RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, - CellLabel-> - "In[211]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "0.5"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { - 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, - 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, - 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, - 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { - 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, - 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { - 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { - 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, - 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { - 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, - 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { - 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9}, - CellLabel-> - "In[212]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7627280783307447`*^9}, - CellLabel-> - "In[213]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\ -\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramEdge.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.3333333333333333`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,213, - 57,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,58,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356926794`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.3333333333333333`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.3333333333333333`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,213,59, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198335706673*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,60,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983358348913`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.6666666666666666`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.6666666666666666`\\\"}]\\) is not a valid value for an attribute in an \ -XMLElement. The value of the attribute must be a string.\"",2,213,61, - 18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983358528805`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,213,62,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.78019833587187*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,213,63,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198335993745*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,213,64,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.780198336013734*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,213,65,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983360287256`*^9}, - CellLabel-> - "During evaluation of \ -In[213]:=",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, - 3.774783253702371*^9}, - CellLabel-> - "In[214]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramEdge.\ -hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, - 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, - 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, - 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, - 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, - 3.780138926395756*^9, 3.780198336277796*^9}, - CellLabel-> - "Out[214]=",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222"] -}, Open ]] -}, -WindowSize->{932, 632}, -WindowMargins->{{0, Automatic}, {Automatic, 22}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 1235, 22, 55, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2473, 62, 899, 14, 36, "Output",ExpressionUUID->"41b6d10f-eb1f-42fc-b6bb-31ec244a24c1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3375, 78, 766, 15, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4144, 95, 378, 6, 36, "Output",ExpressionUUID->"a1b9bb32-6195-476c-b7f3-fb1c02975d8f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4525, 103, 837, 16, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5365, 121, 938, 14, 36, "Output",ExpressionUUID->"09d1c84f-fdf0-48f5-a63e-fdfae7ab79c7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[6318, 138, 414, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], -Cell[CellGroupData[{ -Cell[6757, 151, 303, 7, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7063, 160, 483, 8, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7549, 170, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8117, 182, 1787, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9907, 223, 1370, 20, 36, "Output",ExpressionUUID->"33131d1b-ab8a-4cac-a44d-bf18ed4611b5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11280, 245, 1434, 23, 36, "Output",ExpressionUUID->"6fe22629-0e4a-4ca6-9b93-b47959b6108d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12717, 270, 271, 6, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12991, 278, 875, 18, 99, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13869, 298, 908, 18, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14780, 318, 887, 17, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15670, 337, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16023, 348, 353, 8, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16379, 358, 2239, 40, 143, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18621, 400, 245, 5, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18869, 407, 3291, 51, 81, "Message",ExpressionUUID->"8732e0a2-659b-454b-bff4-2030224e2a79", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22163, 460, 897, 17, 23, "Message",ExpressionUUID->"02debe8f-7004-4b0d-ba2b-2d634a94fa1c", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23063, 479, 1067, 20, 23, "Message",ExpressionUUID->"01d612bd-1b5e-40c3-9e7f-1018d5ccda57", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24133, 501, 897, 17, 23, "Message",ExpressionUUID->"b6754e3e-9a07-4d19-99d7-5d70fb2d6d47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25033, 520, 1069, 20, 23, "Message",ExpressionUUID->"cbad5e3b-f413-4255-ade7-74705d0fcdd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26105, 542, 894, 17, 23, "Message",ExpressionUUID->"90d0c9b6-6da3-43be-b93f-04f4fb02ab14", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27002, 561, 967, 18, 23, "Message",ExpressionUUID->"35702088-2e28-41b0-8b9c-9fe87b2cce5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27972, 581, 1037, 20, 23, "Message",ExpressionUUID->"e4cd8ac0-3768-4278-9fe8-02599fa885be", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29012, 603, 972, 18, 23, "Message",ExpressionUUID->"f260d863-f1f2-429b-90e4-70a29b891958", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29987, 623, 264, 5, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30254, 630, 745, 12, 59, "Output",ExpressionUUID->"a4ab34ec-1c38-4f88-a70f-f0ebdba78222", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg deleted file mode 100644 index 3e55820..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.svg +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml deleted file mode 100644 index 847a25e..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp deleted file mode 100644 index 01f3c4e..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge01.hpp +++ /dev/null @@ -1,164 +0,0 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp deleted file mode 100644 index 5317f42..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramEdge1.hpp +++ /dev/null @@ -1,198 +0,0 @@ -#ifndef ACTIVITYDIAGRAMEDGE_HPP_INCLUDED -#define ACTIVITYDIAGRAMEDGE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" -#include "ActivityDiagramActionN.hpp" - -//! -//! @file ActivityDiagramEdge.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Tue 20 Aug 2019 21:24:55 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, ActivityDiagram, \ -ActivityDiagram}/ActivityDiagramEdge.nb*/ - -using namespace hopsan; - -class ActivityDiagramEdge : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramEdge(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - - qpn1 = 0; - qpn2 = 0; - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - double drop = onPositive(-0.5 + spn1 - spn2); - if(dEvent > 0 && drop > 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMEDGE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp deleted file mode 100644 index d4a61dd..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.hpp +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED -#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFinal.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 27 Nov 2019 13:11:18 -//! @brief Edge for an activity diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFinal.nb*/ - -using namespace hopsan; - -class ActivityDiagramFinal : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - double dEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFinal(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = event; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn1 = -(dEvent*onPositive(-0.5 + spn1)); - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFINAL_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb deleted file mode 100644 index f799bdc..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.nb +++ /dev/null @@ -1,720 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 37398, 712] -NotebookOptionsPosition[ 32152, 628] -NotebookOutlinePosition[ 32601, 645] -CellTagsIndexPosition[ 32558, 642] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[40]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel->"In[41]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774783255827202*^9, 3.77478337001744*^9, 3.7747834405341005`*^9, - 3.7747836576080275`*^9, 3.774861331994948*^9, 3.7748618822356014`*^9, - 3.7748621289924507`*^9, 3.774862177272443*^9, 3.774862425181608*^9, - 3.774862534726026*^9, 3.7749719114527235`*^9, 3.7753178949346876`*^9, - 3.7801333266116037`*^9, 3.7801333972788267`*^9, 3.780133535984686*^9, - 3.780138923762919*^9, 3.7838454778730965`*^9}, - CellLabel->"Out[41]=",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}}, - CellLabel->"In[42]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.780133536031561*^9, {3.7801389238738537`*^9, 3.780138935305006*^9}, - 3.7838454779706993`*^9}, - CellLabel->"Out[42]=",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774862167050089*^9, - 3.7748621744482594`*^9}, {3.78013338480538*^9, 3.7801333924801435`*^9}, { - 3.7801334766887417`*^9, 3.7801335198101406`*^9}}, - CellLabel->"In[43]:=",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.77478325586716*^9, 3.7747833700573997`*^9, 3.7747834405750585`*^9, - 3.7747836576489954`*^9, 3.774861332027913*^9, 3.77486188227656*^9, - 3.774862129112327*^9, 3.774862177338374*^9, 3.774862425247543*^9, - 3.7748625347922373`*^9, 3.774971911554619*^9, 3.775317894973647*^9, - 3.7801333266584554`*^9, 3.7801333973413134`*^9, 3.780133536078429*^9, - 3.7801336300384307`*^9, 3.7801389239780316`*^9, 3.7838454780727134`*^9}, - CellLabel->"Out[43]=",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellLabel->"In[44]:=",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7838454781824636`*^9}, - CellLabel->"Out[44]=",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] -}, Open ]], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[45]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Final", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.7552810847024717`*^9, - 3.755281085195962*^9}, 3.7627280783257494`*^9, {3.774780997626498*^9, - 3.774781001216793*^9}, {3.774861337479744*^9, 3.774861338502689*^9}, { - 3.7838454562700553`*^9, - 3.78384545691061*^9}},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1 and qpn2, are either 0 or \ -1 in one time step. The state variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940389271574`*^9}, - 3.774861328529005*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, 3.755104234091298*^9, { - 3.7552809979509115`*^9, 3.755281001260498*^9}, 3.7627280783277693`*^9, { - 3.765539427990275*^9, 3.7655394340028424`*^9}, {3.774781006008152*^9, - 3.77478102110835*^9}, 3.7749717143792067`*^9, {3.783845452706601*^9, - 3.7838454535346675`*^9}}, - CellLabel->"In[46]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478355116*^9}, - CellLabel->"Out[51]=",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "27", ",", "13", ",", "11", ",", - "18.2740075`9.014408738882913"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.755102980704762*^9, 3.755103206917535*^9, - 3.755103467021369*^9, 3.755103744959814*^9, 3.755104180451824*^9, - 3.755104239812397*^9, 3.755104643157222*^9, 3.7551048029644623`*^9, - 3.7551050670431967`*^9, 3.7552831734030194`*^9, 3.755283206272132*^9, - 3.755325283129212*^9, 3.755333721998741*^9, {3.7626812975948114`*^9, - 3.7626813135454216`*^9}, 3.7626839962814198`*^9, 3.7626948109174385`*^9, - 3.762727532339548*^9, 3.76272799501862*^9, {3.762728078328746*^9, - 3.7627280824895782`*^9}, 3.7627282320170755`*^9, 3.7747824644163404`*^9, { - 3.774782702399314*^9, 3.774782723832418*^9}, 3.7747832559450808`*^9, - 3.7747833701363187`*^9, 3.774783440656974*^9, 3.7747836577249107`*^9, - 3.7748613320898495`*^9, 3.774861882352481*^9, 3.774862129236199*^9, - 3.774862177464244*^9, 3.7748624253883953`*^9, 3.774862534921103*^9, - 3.774971911774392*^9, 3.775317895053565*^9, 3.7801333267053275`*^9, - 3.7801333974350605`*^9, 3.7801335361721935`*^9, 3.7801336301790466`*^9, - 3.780138924161188*^9, 3.7801983350044546`*^9, 3.783845478360263*^9}, - CellLabel->"Out[55]=",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.774862525590169*^9, 3.774862531989335*^9}}, - CellLabel->"In[56]:=",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, 3.783845382014352*^9}, - CellLabel->"In[57]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272249647017`*^9, - 3.7627272292986608`*^9}, {3.762727490874993*^9, 3.7627274959520893`*^9}, - 3.762728078328746*^9, 3.7749719792395124`*^9, 3.7749721713009176`*^9}, - CellLabel->"In[58]:=",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9}, - CellLabel->"In[59]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell["\<\ -outputVariables = { - {dEvent, 0., double, \"\", \"state\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7551047565263386`*^9, 3.755104782637418*^9}, - 3.7627280783297443`*^9, 3.7749718981811323`*^9, - 3.7749722246227536`*^9},ExpressionUUID->"5cd89914-7e59-4f48-aa45-\ -f858f9817189"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", - RowBox[{"oldEvent", "\[Equal]", "event"}], "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774783253698371*^9, 3.774971906112005*^9}, - CellLabel->"In[60]:=",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "\[Equal]", - RowBox[{ - RowBox[{"-", "dEvent"}], " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "0.5"}], "]"}]}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.755102685300324*^9, 3.755102766693407*^9}, { - 3.755102825716555*^9, 3.7551028290051646`*^9}, {3.755103181905323*^9, - 3.7551031851929345`*^9}, 3.7551032435287895`*^9, {3.755103273801578*^9, - 3.755103299120475*^9}, {3.755103426839797*^9, 3.7551034356007643`*^9}, - 3.7551046204816017`*^9, {3.755105052892784*^9, 3.755105055124485*^9}, { - 3.7553336858300333`*^9, 3.755333687215604*^9}, {3.7626839650251155`*^9, - 3.7626839663531804`*^9}, {3.762694751924573*^9, 3.762694784726457*^9}, { - 3.7627273054720736`*^9, 3.762727306901246*^9}, 3.7627280783307447`*^9, { - 3.765539448591514*^9, 3.765539455630495*^9}, {3.765539601496279*^9, - 3.7655396192698975`*^9}, {3.774782361437813*^9, 3.7747824158143415`*^9}, { - 3.7749717974514837`*^9, 3.7749718286721725`*^9}, {3.774971859745027*^9, - 3.774971861376067*^9}, {3.7749719534754014`*^9, 3.7749719690395927`*^9}, { - 3.7749721374450293`*^9, 3.7749721396166024`*^9}, 3.774972219213808*^9, { - 3.783845393127009*^9, 3.7838454104907365`*^9}}, - CellLabel->"In[61]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7627280783307447`*^9}, - CellLabel->"In[62]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"\\\\\\\"\\\"}], \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\ -\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramFinal\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -RowBox[{\\\"\\\\\\\"A\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"l\\\\\\\"\ -\\\"}]}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFinal.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,62, - 24,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478774294*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,25,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478833149*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,62,26,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789400873`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,27,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.78384547895208*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,62,28,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789620743`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,62,29,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.7838454789750695`*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,62,30,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.762728082979766*^9, 3.7627282323828444`*^9, 3.774782724576651*^9, { - 3.774783253698371*^9, 3.774783256363648*^9}, 3.7747834410225973`*^9, - 3.7748613323535776`*^9, 3.774861882718104*^9, 3.774862129745673*^9, - 3.7748621780067387`*^9, 3.774862425975794*^9, 3.774862535638364*^9, - 3.774971912811322*^9, 3.7753178953872194`*^9, 3.7801333269240627`*^9, - 3.7801333976069274`*^9, 3.780133536495208*^9, 3.7801336304354353`*^9, - 3.780138924911724*^9, 3.7801983356507044`*^9, 3.783845478995056*^9}, - CellLabel-> - "During evaluation of \ -In[62]:=",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f"], - -Cell[BoxData["file"], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7747825883063197`*^9, 3.7747825891164837`*^9}, - 3.774783253702371*^9}, - CellLabel->"In[63]:=",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\ActivityDiagramFinal.\ -hpp\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7747825901683993`*^9, 3.774782739100483*^9, {3.7747832537033706`*^9, - 3.7747832566588507`*^9}, 3.774861883267045*^9, 3.774862130263647*^9, - 3.7748621784503984`*^9, 3.774862426377384*^9, 3.7748625360815115`*^9, - 3.774971913145977*^9, 3.775317895668929*^9, 3.780133327361533*^9, - 3.780133398013132*^9, 3.7801335371869555`*^9, 3.7801336308257523`*^9, - 3.780138926395756*^9, 3.780198336277796*^9, 3.783845479208876*^9}, - CellLabel->"Out[63]=",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd"] -}, Open ]] -}, -WindowSize->{1008, 709}, -WindowMargins->{{0, Automatic}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -Magnification:>1.1 Inherited, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 107, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 32, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1231, 21, 32, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2465, 60, 919, 13, 36, "Output",ExpressionUUID->"9481c4a3-b720-4420-9178-375a5b5b9d77", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3387, 75, 762, 14, 55, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4152, 91, 402, 6, 36, "Output",ExpressionUUID->"79cf065a-53f8-4561-84fd-8552a12c3e0b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4557, 99, 833, 15, 55, "Input",ExpressionUUID->"905ab55a-157b-4a3f-b596-c07eca02fa80", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5393, 116, 958, 13, 36, "Output",ExpressionUUID->"655686d1-447e-420b-96c9-7c10296eef74", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[CellGroupData[{ -Cell[6388, 134, 436, 9, 55, "Input",ExpressionUUID->"1c2c481e-8769-41af-8c25-4f851ecbcfa6"], -Cell[6827, 145, 272, 3, 36, "Output",ExpressionUUID->"9c93e848-e40a-4650-be87-7c26eed711c6"] -}, Open ]], -Cell[CellGroupData[{ -Cell[7136, 153, 299, 6, 32, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7438, 161, 535, 9, 73, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7976, 172, 565, 10, 65, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8544, 184, 1836, 39, 231, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10383, 225, 1388, 19, 36, "Output",ExpressionUUID->"6ab0dc44-d9d9-4bf2-8dec-b26398bff11d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11774, 246, 1455, 22, 36, "Output",ExpressionUUID->"467ab447-a7e9-486f-a74f-7c09f677e688", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13232, 270, 267, 5, 32, "Input",ExpressionUUID->"5a00746f-0f22-470a-9d0a-8fed6680bf1a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13502, 277, 726, 13, 77, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14231, 292, 904, 17, 77, "Input",ExpressionUUID->"4c62bcfb-2008-4beb-8d2e-de8e629ef869", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15138, 311, 883, 16, 77, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16024, 329, 350, 9, 90, "Text",ExpressionUUID->"5cd89914-7e59-4f48-aa45-f858f9817189", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16377, 340, 349, 7, 32, "Input",ExpressionUUID->"6c284b1c-2e66-492e-90e5-21e73aaf28a9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16729, 349, 2203, 38, 121, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18935, 389, 241, 4, 32, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19179, 395, 6046, 90, 119, "Message",ExpressionUUID->"6c1119dc-e6bb-40f8-a20f-ccfcfb83f0d3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25228, 487, 917, 17, 23, "Message",ExpressionUUID->"0eaa707d-26f0-4a7c-96b1-89a31d97e6a7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26148, 506, 1061, 20, 23, "Message",ExpressionUUID->"5af0e64f-7c85-478b-a17f-c62c9b266900", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27212, 528, 916, 17, 23, "Message",ExpressionUUID->"6921ccfe-9bcf-434a-b351-8a2b31c78d8a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28131, 547, 1061, 20, 23, "Message",ExpressionUUID->"d9dbb1bc-113d-4df6-9760-86f3cc30cc20", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29195, 569, 919, 17, 23, "Message",ExpressionUUID->"8ed11c0e-d59b-43a0-9c0b-039b625147d9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30117, 588, 989, 18, 23, "Message",ExpressionUUID->"fddeb781-05f2-42e4-b52b-eaa3452b750f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31109, 608, 260, 4, 32, "Input",ExpressionUUID->"770bb82f-29c3-4ec0-a654-9470b7b070e9", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31372, 614, 764, 11, 36, "Output",ExpressionUUID->"9396a593-309c-4be1-ac56-09d14badbbdd", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg deleted file mode 100644 index c498595..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.svg +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml deleted file mode 100644 index 0fe7488..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp deleted file mode 100644 index 71bbcb1..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinal0.hpp +++ /dev/null @@ -1,127 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramFinal.hpp -//! @author Petter Krus -//! @date 2018-12-31 -//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson -//! @brief Contains a Electric Volume Component -//! - -#ifndef ACTIVITYDIAGRAMFINAL_HPP_INCLUDED -#define ACTIVITYDIAGRAMFINAL_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A ActivityDiagram final state component - //! @ingroup ActivityDiagram - //! - class ActivityDiagramFinal : public ComponentC - { - - private: - double state; - double *mpAlpha; - double *mpstate; -// double capacitance; - - std::vector mvpN_s; - std::vector mvp_S0; - size_t mNumPorts; - Port *mpPpn1; - - public: - static Component *Creator() - { - return new ActivityDiagramFinal(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); - addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); - addOutputVariable("state","State activated","",0.,&mpstate); - } - - - void initialize() - { - double alpha; - double state; - alpha = (*mpAlpha); - - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvp_S0.resize(mNumPorts); - - for (size_t i=0; i. - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramFinalNode.hpp -//! @author Petter Krus -// co-author/auditor Robert Braun, Emilia Villani -//! @date 2019-08-15 -//! based on ElectricCapacitanceMultiPort.hpp and Volume component by Björn Eriksson -//! @brief Contains a Electric Volume Component -//! - -#ifndef ACTIVITYDIAGRAMFINALNODE_HPP_INCLUDED -#define ACTIVITYDIAGRAMFINALNODE_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A StateMachine state component - //! @ingroup StateMachine - //! - class ActivityDiagramFinalNode : public ComponentC - { - - private: - double state; - double *mpAlpha; - double *mpstate; -// double capacitance; - - std::vector mvpN_s, mvpN_q; - std::vector mvp_S0; - size_t mNumPorts; - Port *mpPpn1; - - public: - static Component *Creator() - { - return new ActivityDiagramFinalNode(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); -// addConstant("Capacitance", "Capacitance", "Fa", 0.0001, capacitance); - addInputVariable("alpha", "Low pass coeficient to dampen standing delayline waves", "-", 0.3, &mpAlpha); - addOutputVariable("state","State activated","",0.,&mpstate); - } - - - void initialize() - { - double alpha; - double state; - alpha = (*mpAlpha); - - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvpN_q.resize(mNumPorts); - mvp_S0.resize(mNumPorts); - - for (size_t i=0; i - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml deleted file mode 100644 index acf0bde..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFinalNode.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp deleted file mode 100644 index d71d81d..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.hpp +++ /dev/null @@ -1,228 +0,0 @@ -#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED -#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFork.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 13 Nov 2019 16:14:51 -//! @brief Fork for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ - -using namespace hopsan; - -class ActivityDiagramFork : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - double qpn10; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFork(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - //Preventing creation of extra token - double drop = onPositive(-0.5 + spn1 - spn2 - spn3); - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - //if(dEvent > 0 && drop > 0) { - if(qpn10 < 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - successDownstream = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = -qpn10; - qpn3 = -qpn10; - qpn1 = qpn10; - } - } - oldEvent = event; - /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb deleted file mode 100644 index 4781bb4..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.nb +++ /dev/null @@ -1,599 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 30428, 591] -NotebookOptionsPosition[ 26705, 533] -NotebookOutlinePosition[ 27124, 549] -CellTagsIndexPosition[ 27081, 546] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[61]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9, 3.7627287106739197`*^9, {3.7653655281709204`*^9, - 3.7653655397771883`*^9}, {3.774863771563929*^9, 3.7748637782681117`*^9}, - 3.774863822282749*^9, 3.7826467657097054`*^9}, - CellLabel->"In[63]:=",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7653656647449336`*^9, 3.7653658264367056`*^9, 3.7653658794497952`*^9, - 3.7654310624811687`*^9, 3.7654312190637693`*^9, 3.774863782789399*^9, { - 3.774863822282749*^9, 3.7748638255252094`*^9}, 3.774863903001707*^9, - 3.774863987619404*^9, 3.7753178495516796`*^9, 3.782646735725585*^9, - 3.7826467716284*^9, 3.782646889210889*^9, 3.7826523908287973`*^9}, - CellLabel->"Out[63]=",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.783933562698448*^9},ExpressionUUID->"d4124b2a-ea86-4434-bcf9-\ -b213164ffac7"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[64]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Fork", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7552829602158165`*^9, 3.7552829636462793`*^9}, {3.7653652937303224`*^9, - 3.7653652948741436`*^9}, 3.7747951051283193`*^9, - 3.774861352550853*^9},ExpressionUUID->"e530ed89-c702-4a63-ba9a-\ -2addaa99d206"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or 1). The flow qpn1,qpn2 and qpn3, are either \ -0 or 1 in one time step. The state variables spn1, spn2 and spn3 are either 0 \ -or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, {3.774793947624714*^9, - 3.7747940079196377`*^9}, - 3.774794209791312*^9},ExpressionUUID->"bdc3e281-aa00-44be-ae84-\ -967524ca58f1"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7552811322054944`*^9, 3.755281141404011*^9}, { - 3.76536529882735*^9, 3.7653653147948*^9}, 3.7747951068994923`*^9, - 3.774861352550853*^9, 3.77531784181115*^9, 3.783842808838291*^9, - 3.783843119461669*^9},ExpressionUUID->"66226cc4-c34c-490e-8628-\ -63aa4715d8a0"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, - 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, - 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, - 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, - 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, - 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, - 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, - 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, - 3.782652391913143*^9}, - CellLabel->"Out[70]=",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "13", ",", "17", ",", "46", ",", - "31.7112596`9.25378839754705"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550214802554903`*^9, 3.7552831508242984`*^9, - 3.7643433133960524`*^9, 3.764343361374817*^9, 3.76434711494726*^9, - 3.7653653174990187`*^9, 3.7653653580217056`*^9, 3.765365613292461*^9, - 3.765365839367419*^9, 3.765365879559681*^9, 3.765431062614033*^9, - 3.765431219229105*^9, 3.774795673410385*^9, {3.774861352550853*^9, - 3.7748613557821894`*^9}, 3.7748618888201094`*^9, 3.7748638257000284`*^9, - 3.7748639031585436`*^9, 3.7748639877702484`*^9, 3.77531784964709*^9, - 3.782646736154687*^9, 3.7826467736137486`*^9, 3.7826468896606283`*^9, - 3.7826523919391284`*^9}, - CellLabel->"Out[74]=",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748639779539723`*^9, 3.774863984865543*^9}}, - CellLabel->"In[75]:=",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7748638812026606`*^9, 3.774863885385459*^9}, {3.7838431361781645`*^9, - 3.783843149997116*^9}},ExpressionUUID->"2096f5b3-005e-4e58-a8bb-\ -ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", " ", "=", " ", - RowBox[{"{", "\n", " ", - RowBox[{"{", - RowBox[{ - "event", ",", " ", "1.", ",", " ", "double", ",", " ", "\"\<\>\"", ",", - " ", "\"\\""}], "}"}], "\n", " ", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.7550214607545958`*^9, {3.765431186087635*^9, - 3.765431200241627*^9}, 3.774861352550853*^9}, - CellLabel->"In[77]:=",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774861352550853*^9, 3.7826468701107273`*^9}, - CellLabel->"In[78]:=",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn2", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", - RowBox[{"dEvent", " ", - RowBox[{"onPositive", "[", - RowBox[{"spn1", "-", "spn2", "-", "spn3"}], "]"}]}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn2"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7643433362447524`*^9, - 3.7643433574496603`*^9}, {3.7747951683414693`*^9, 3.774795202078376*^9}, - 3.7748613525528517`*^9, 3.774863901313697*^9, {3.7826466491704607`*^9, - 3.7826466742648764`*^9}}, - CellLabel->"In[79]:=",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.774861352553851*^9, 3.774863901313697*^9}, - CellLabel->"In[80]:=",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"Act\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"Fork\\\\\\\"\\\"}]}], \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \ -\\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramFork.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn2\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]\\) is \ -not a list of contents. The third item in an XMLElement must be a list of \ -contents, even if it is an empty list.\"",2,80,33,19006202694589510913, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.7826523976370525`*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,34,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652398229714*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 80,35,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652398750414*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,36,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652399246129*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,80,37,19006202694589510913, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.78265239952297*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,80,38,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652399823799*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,80,39,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400312519*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 80,40,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400580365*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,80,41,19006202694589510913,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755021480415325*^9, 3.755283151067049*^9, - 3.7643433136136475`*^9, 3.764343361606886*^9, 3.764347115245705*^9, - 3.765365317590925*^9, 3.765365358113617*^9, 3.765365613432819*^9, - 3.765365839508272*^9, 3.765365879724511*^9, 3.7654310628088317`*^9, - 3.765431219497828*^9, 3.774795673926897*^9, {3.774861352559843*^9, - 3.774861355972993*^9}, 3.774863903582732*^9, 3.7748639882587442`*^9, - 3.775317849994731*^9, 3.7826467385878634`*^9, 3.7826467765539117`*^9, - 3.782646891922616*^9, 3.782652400856207*^9}, - CellLabel-> - "During evaluation of \ -In[80]:=",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] -}, -WindowSize->{1008, 709}, -WindowMargins->{{0, Automatic}, {Automatic, 0}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1443, 23, 48, "Input",ExpressionUUID->"7b028932-d1cb-4aec-8cb9-26c0d7fab47d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2677, 62, 668, 9, 32, "Output",ExpressionUUID->"662ac5f0-c22d-48cf-8c84-9142e7ffb8bb", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3348, 73, 514, 12, 48, "Input",ExpressionUUID->"d4124b2a-ea86-4434-bcf9-b213164ffac7", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3865, 87, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4167, 95, 487, 8, 67, "Section",ExpressionUUID->"e530ed89-c702-4a63-ba9a-2addaa99d206", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4657, 105, 578, 11, 56, "Text",ExpressionUUID->"bdc3e281-aa00-44be-ae84-967524ca58f1", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5238, 118, 1802, 39, 200, "Input",ExpressionUUID->"66226cc4-c34c-490e-8628-63aa4715d8a0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7043, 159, 903, 13, 32, "Output",ExpressionUUID->"d24a29c1-3322-468a-bab4-4d49ca5bee52", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7949, 174, 971, 16, 32, "Output",ExpressionUUID->"7c54834b-dcbe-4cff-abcf-62c04c276302", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8923, 192, 269, 5, 28, "Input",ExpressionUUID->"29c4d638-a0a0-4ba4-b26c-26191c8e83de", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9195, 199, 1151, 22, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10349, 223, 932, 17, 67, "Input",ExpressionUUID->"9694c865-8c2e-48bf-b3af-2b54afb74cf0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11284, 242, 509, 11, 67, "Input",ExpressionUUID->"d62d36ac-ee4a-4b20-bb28-db62fb401eed", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11796, 255, 1785, 36, 143, "Input",ExpressionUUID->"322217c0-2cf2-48db-81e6-1825242e2cb5", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13584, 293, 261, 4, 28, "Input",ExpressionUUID->"a12717b8-fc5d-45c7-8f3c-fd66477eef9a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[13860, 300, 4621, 70, 77, "Message",ExpressionUUID->"ac3e0a9d-fdae-498c-926e-4d4511b35419"], -Cell[18484, 372, 953, 17, 21, "Message",ExpressionUUID->"f6c643ca-732c-495c-800d-6ce74013d3b7"], -Cell[19440, 391, 1095, 19, 21, "Message",ExpressionUUID->"bf4ca86d-83b0-4ccf-b524-aacd392bdb04"], -Cell[20538, 412, 953, 17, 21, "Message",ExpressionUUID->"72fedd63-34c3-4909-aaaa-707cb805704d"], -Cell[21494, 431, 1094, 20, 21, "Message",ExpressionUUID->"d5d916ab-38eb-4d87-b1e7-c3de397095fd"], -Cell[22591, 453, 953, 17, 21, "Message",ExpressionUUID->"045b9d58-92e5-4ef0-a8db-d0366e7d56d5"], -Cell[23547, 472, 1025, 18, 21, "Message",ExpressionUUID->"818b3652-f885-49eb-b1ea-c217b2b3ed05"], -Cell[24575, 492, 1095, 19, 21, "Message",ExpressionUUID->"44018029-759f-49d2-a661-ecb1335d2dc5"], -Cell[25673, 513, 1028, 18, 21, "Message",ExpressionUUID->"89a08b05-f307-4af9-a1c8-353b61423e8d"] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg deleted file mode 100644 index 5694951..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.svg +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml deleted file mode 100644 index 7d77610..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp deleted file mode 100644 index ee6a5f6..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramFork0.hpp +++ /dev/null @@ -1,228 +0,0 @@ -#ifndef ACTIVITYDIAGRAMFORK_HPP_INCLUDED -#define ACTIVITYDIAGRAMFORK_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramFork.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 13 Nov 2019 16:14:51 -//! @brief Fork for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramFork.nb*/ - -using namespace hopsan; - -class ActivityDiagramFork : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - double qpn10; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramFork(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "Trigg on level (0) or flank (1)", \ -"", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - dEvent = onPositive(-0.5 + event - diffEvent*oldEvent); - //Preventing creation of extra token - double drop = onPositive(-0.5 + spn1 - spn2 - spn3); - qpn2 = 0; - qpn3 = 0; - qpn1 = 0; - qpn10 = -dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - //if(dEvent > 0 && drop > 0) { - if(qpn10 < 0) { - bool successUpstream = true; - - //Try to lock upstream component - for(auto pPort : mpPpn1->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successUpstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - bool successDownstream = true; - for(auto pPort : mpPpn2->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Try to lock downstream component - successDownstream = true; - for(auto pPort : mpPpn3->getConnectedPorts()) { - if(pPort->getComponent()->getTypeName() == "ActivityDiagramActionN") { - auto component = dynamic_cast(pPort->getComponent()); - successDownstream = component->tryAndLockToken(); - } - } - - //Locked both upstream and downstream (or not ActionN-components), compute flow - if(successUpstream && successDownstream) { - addDebugMessage("Locked tokens!"); - qpn2 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(-0.5 + spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - } - } - /*qpn2 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn3 = dEvent*onPositive(spn1 - spn2 - spn3); - qpn1 = -qpn2; - oldEvent = event; - */ - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMFORK_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp deleted file mode 100644 index 9281c86..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramForkN.hpp +++ /dev/null @@ -1,178 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramForkN.hpp -//! @author Petter Krus -//! @date 2018-12-31 -//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson -//! @brief Contains a multi in join Component -//! - -#ifndef ACTIVITYDIAGRAMFORKN_HPP_INCLUDED -#define ACTIVITYDIAGRAMFORKN_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A ActivityDiagram FORK multi port component - //! @ingroup ActivityDiagram - //! - class ActivityDiagramForkN : public ComponentQ - { - - private: - double diffevent; - double event; - double state; - double oldState; - double oldEvent; - - std::vector mvpN_s, mvpN_q; - std::vector mvp_S0; - size_t mNumPorts; - Port *mpPpn1; - Port *mpPpn2; - - //Port Ppn2 variable - double s2; - double q2; - - //Port Ppn2 pointer - double *mpP_s2; - double *mpP_q2; - - //inputVariables pointers - double *mpevent; - - //inputParameters pointers - double *mpdiffevent; - - //outputVariables pointers - double *mpstate; - - public: - static Component *Creator() - { - return new ActivityDiagramForkN(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - - //Add inputVariables to the component - addInputVariable("event","event ","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffevent", "Trigg on level (0) or flank (1)", "", 0.,&mpdiffevent); - - //Add outputVariables to the component - addOutputVariable("state","state","",0.,&mpstate); - - } - - void initialize() - { - //Port Ppn1 - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvpN_q.resize(mNumPorts); - mvp_S0.resize(mNumPorts); - - for (size_t i=0; i - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp deleted file mode 100644 index ae48d32..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.hpp +++ /dev/null @@ -1,144 +0,0 @@ -#ifndef ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED -#define ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramInitiateState.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 17 Oct 2019 19:22:27 -//! @brief Initialization for a Activity Diagram -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramInitiateState.nb*/ - -using namespace hopsan; - -class ActivityDiagramInitiateState : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //InitialExpressions variables - double oldEvent; - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramInitiateState(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on positive \ -flank)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "event (trigg on positive flank)", \ -"", 1.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - //InitialExpressions - oldEvent = 0.; - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - qpn1 = onPositive(-0.5 + event - diffEvent*oldEvent - spn1); - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMINITIATESTATE_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb deleted file mode 100644 index 2f81dcf..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.nb +++ /dev/null @@ -1,568 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 28067, 560] -NotebookOptionsPosition[ 24247, 500] -NotebookOutlinePosition[ 24668, 516] -CellTagsIndexPosition[ 24625, 513] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel-> - "In[289]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, 3.7748679214756083`*^9}, - CellLabel-> - "In[290]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.77479556374086*^9, - 3.7748613834299583`*^9, 3.7748619371199417`*^9, 3.7748642131804657`*^9, - 3.7748645633975315`*^9, {3.7748645970573945`*^9, 3.774864607918788*^9}, - 3.774867703652725*^9, 3.774867926791222*^9, 3.774892832598035*^9, - 3.775317869629486*^9, 3.7803136766181493`*^9}, - CellLabel-> - "Out[290]=",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.780313242636645*^9}, - CellLabel-> - "In[291]:=",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.780313676730456*^9, 3.780322390417487*^9}, - CellLabel-> - "Out[291]=",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel-> - "In[310]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Initiate", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, {3.754047538282405*^9, - 3.754047549959265*^9}, {3.7552832968927016`*^9, 3.7552832972033815`*^9}, { - 3.7554173810299163`*^9, 3.755417381886033*^9}, 3.7747954639963675`*^9, - 3.774861381726017*^9, 3.77486191225311*^9, - 3.7803133814542294`*^9},ExpressionUUID->"4d153d9c-7b28-4465-9655-\ -a48708ad9847"], - -Cell["\<\ -Event trigger for state machines. The flow is triggered on a positive flank \ -in event (should be a value 0 or -1). The flow is either 0 or one in one time \ -step. The vawe variables cel1 and cel2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, - 3.7554173947018223`*^9, - 3.774861381726017*^9},ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-\ -50747d0f7dcb"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], - ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7540475704265985`*^9, - 3.754047583132675*^9}, {3.755283262173503*^9, 3.755283264773819*^9}, { - 3.755417376704378*^9, 3.75541737766938*^9}, {3.755417462599818*^9, - 3.755417466808478*^9}, 3.774795466549244*^9, 3.7748613817270155`*^9, { - 3.774861919274185*^9, 3.7748619298823028`*^9}, {3.774892217455916*^9, - 3.7748922180483685`*^9}}, - CellLabel-> - "In[311]:=",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, - 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, - 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, - 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { - 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, - 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, - 3.780313676948842*^9, 3.780321747089079*^9}, - CellLabel-> - "Out[316]=",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "10", ",", "17", ",", "19", ",", "22", ",", - "27.0890793`9.185369160057958"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.75528330099747*^9, 3.7553242249759817`*^9, - 3.755324260834011*^9, 3.755463629330747*^9, 3.7554639167334347`*^9, - 3.774795563892702*^9, {3.7748613817270155`*^9, 3.7748613835148697`*^9}, - 3.774861937213806*^9, 3.774864213342299*^9, 3.774864563555369*^9, { - 3.7748645972112355`*^9, 3.77486460807063*^9}, 3.774867703803563*^9, - 3.77486792694706*^9, 3.7748928327908363`*^9, 3.7753178697183957`*^9, - 3.780313676948842*^9, 3.7803217471047015`*^9}, - CellLabel-> - "Out[320]=",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"state", "=."}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7748642032354603`*^9, 3.7748642103278923`*^9}}, - CellLabel-> - "In[321]:=",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "1.", ",", "\"\\""}], "]"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.75404759400323*^9, - 3.7540477190914407`*^9, 3.7553242534686055`*^9, 3.7748613817270155`*^9, - 3.77486769495127*^9, 3.7748928260322795`*^9, {3.7803134756519003`*^9, - 3.7803134759010286`*^9}}, - CellLabel-> - "In[322]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.780313538092991*^9, 3.7803135406627865`*^9}, { - 3.780313660202917*^9, 3.780313667247159*^9}}, - CellLabel-> - "In[323]:=",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "1.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7803136602039175`*^9, 3.780313667247159*^9}}, - CellLabel-> - "In[324]:=",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"initialExpressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "oldEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7554635581691155`*^9, 3.7554636200383286`*^9}, - 3.7748613817270155`*^9, {3.7803136602039175`*^9, 3.7803136672481318`*^9}}, - CellLabel-> - "In[325]:=",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn1", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", " ", "oldEvent"}], "-", "spn1", "-", "0.5"}], - "]"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "\[Equal]", "event"}]}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.7540475984872904`*^9, 3.7540476129458995`*^9}, { - 3.7540476910155144`*^9, 3.754047691685115*^9}, 3.7554173893183746`*^9, - 3.7554174592942257`*^9, {3.7554635125221767`*^9, 3.755463526263009*^9}, - 3.7747954957200775`*^9, {3.774795527795559*^9, 3.7747955286187067`*^9}, - 3.7748613817270155`*^9, {3.774864588216931*^9, 3.774864591940977*^9}, { - 3.78031356706925*^9, 3.780313572399868*^9}, {3.7803136602059264`*^9, - 3.7803136672481318`*^9}, {3.780321712750452*^9, 3.780321722472545*^9}}, - CellLabel-> - "In[326]:=",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7748613817290125`*^9, 3.7748646059877806`*^9, {3.7803136602059264`*^9, - 3.7803136672481318`*^9}}, - CellLabel-> - "In[327]:=",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2"] -}, Open ]], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState\\\\\\\"\\\"}]}], \\\"}\\\"}], \ -\\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramInitiateState.svg\\\\\\\"\\\"}]}], \\\ -\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \\\",\\\", RowBox[{\\\ -\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of contents. The third item in an \ -XMLElement must be a list of contents, even if it is an empty list.\"",2,327, - 105,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217478282585`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,106,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748046993*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,327,107,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217480626173`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,108,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217480938644`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,327,109,18988733202671857145, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748265729*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,327,110,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.780321748281352*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,327,111,18988733202671857145,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.755283301345112*^9, 3.7553242251498013`*^9, - 3.755324261470355*^9, 3.755463629467605*^9, 3.7554639168642983`*^9, - 3.774795564446212*^9, {3.7748613817330103`*^9, 3.7748613837246532`*^9}, - 3.7748646085341535`*^9, 3.7748677043684864`*^9, 3.774867927526462*^9, - 3.7748928336179914`*^9, 3.775317870056046*^9, 3.780313678053779*^9, - 3.7803217482969747`*^9}, - CellLabel-> - "During evaluation of \ -In[327]:=",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] -}, -WindowSize->{1191, 801}, -WindowMargins->{{Automatic, 50}, {Automatic, 18}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 379, 7, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1235, 38, 657, 13, 28, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1895, 53, 928, 14, 32, "Output",ExpressionUUID->"1242d9d9-afc6-43a3-a28c-3bb0031bdc41", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2826, 69, 537, 12, 28, "Input",ExpressionUUID->"0903a469-10cd-4b2d-aa4c-70ce77ff970d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3366, 83, 351, 5, 32, "Output",ExpressionUUID->"d8204922-e834-4a17-b6ea-d9627d8a5a34", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3720, 90, 303, 7, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4026, 99, 562, 9, 67, "Section",ExpressionUUID->"4d153d9c-7b28-4465-9655-a48708ad9847", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4591, 110, 473, 9, 56, "Text",ExpressionUUID->"5a36ba0e-8e98-445a-9ec2-50747d0f7dcb", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5067, 121, 1932, 42, 200, "Input",ExpressionUUID->"0c12bced-a0c3-4902-8101-a0eeacaebe47", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7002, 165, 780, 12, 32, "Output",ExpressionUUID->"8c05a766-4870-42e3-8962-0267e54c5333", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7785, 179, 849, 15, 32, "Output",ExpressionUUID->"d6ab8112-8cd6-4dcb-906c-f2e46c873b65", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8637, 196, 275, 6, 28, "Input",ExpressionUUID->"b80f8bb0-04de-4ff6-8453-f128bf415b6b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8915, 204, 776, 15, 67, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9694, 221, 559, 13, 67, "Input",ExpressionUUID->"9c24bf64-7f0f-471e-80fb-017e0b6971b2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10256, 236, 515, 12, 67, "Input",ExpressionUUID->"1eef8e95-54f5-4096-b690-1ee8c645500c", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10774, 250, 587, 13, 67, "Input",ExpressionUUID->"45a7267b-102e-4994-82f3-17fd694e5654", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11364, 265, 1523, 27, 86, "Input",ExpressionUUID->"2316194c-ef64-4d0a-9217-862d722a09ba", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12890, 294, 326, 7, 28, "Input",ExpressionUUID->"4f62450d-7e66-411b-91fd-6f6fd94578a2", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[13231, 304, 5844, 85, 112, "Message",ExpressionUUID->"1af8fadd-fa4f-4845-8f75-6a3815d12642"], -Cell[19078, 391, 798, 15, 21, "Message",ExpressionUUID->"8434ce92-990c-4026-8885-da975ec2b806"], -Cell[19879, 408, 942, 18, 21, "Message",ExpressionUUID->"6601a59e-f9d9-4bc5-8e96-d904010a510f"], -Cell[20824, 428, 800, 15, 21, "Message",ExpressionUUID->"fb76e24e-7769-4fdd-8ca6-373ec76c4036"], -Cell[21627, 445, 940, 18, 21, "Message",ExpressionUUID->"a4235cb2-a562-400a-bebb-da624e550132"], -Cell[22570, 465, 798, 15, 21, "Message",ExpressionUUID->"2d5e2e7a-28ad-4030-bce6-20f701608176"], -Cell[23371, 482, 872, 16, 21, "Message",ExpressionUUID->"1a7cb48f-4fc3-40a6-8a7c-96f2b0b792aa"] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg deleted file mode 100644 index 582bec6..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml deleted file mode 100644 index ceefccf..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramInitiateState.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp deleted file mode 100644 index 310bfd2..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.hpp +++ /dev/null @@ -1,181 +0,0 @@ -#ifndef ACTIVITYDIAGRAMJOIN_HPP_INCLUDED -#define ACTIVITYDIAGRAMJOIN_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramJoin.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Wed 27 Nov 2019 12:38:02 -//! @brief And for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, C:, Users, petkr14, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin.nb*/ - -using namespace hopsan; - -class ActivityDiagramJoin : public ComponentQ -{ -private: - double diffEvent; - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - double event; - //outputVariables - //Expressions variables - double dEvent3; - double oldEvent; - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - double *mpevent; - //inputParameters pointers - double *mpdiffEvent; - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramJoin(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - addInputVariable("event","event (trigg on \ -value)","",1.,&mpevent); - - //Add inputParammeters to the component - addInputVariable("diffEvent", "event3, trigg on level(0) or \ -flank(1)", "", 0.,&mpdiffEvent); - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - event = (*mpevent); - - //Read inputParameters from nodes - diffEvent = (*mpdiffEvent); - - //LocalExpressions - - //Expressions - dEvent3 = onPositive(-0.5 + event - diffEvent*oldEvent); - qpn3 = onPositive(event)*onPositive(-0.5 + spn1*spn2 - spn3); - qpn1 = -qpn3; - qpn2 = -qpn3; - oldEvent = event; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMJOIN_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb deleted file mode 100644 index 6f6d853..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.nb +++ /dev/null @@ -1,661 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 34515, 653] -NotebookOptionsPosition[ 30159, 583] -NotebookOutlinePosition[ 30580, 599] -CellTagsIndexPosition[ 30537, 596] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, - 3.774794098262859*^9}},ExpressionUUID->"5ee7c9b3-61b3-495d-947e-\ -36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - CellLabel->"In[20]:=",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - CellLabel->"In[21]:=",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, - 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, - 3.7760688056377096`*^9, 3.7760689017746077`*^9, 3.776070944721018*^9, - 3.7760710374873853`*^9, 3.776071235541223*^9, 3.783843343493267*^9, - 3.783843481153901*^9}, - CellLabel->"Out[21]=",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - CellLabel->"In[22]:=",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a"] -}, Open ]], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellChangeTimes->{3.7838434814297028`*^9}, - CellLabel->"Out[22]=",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], - -Cell[CellGroupData[{ - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\""}], "}"}], "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}, - 3.783843477517951*^9}, - CellLabel->"In[23]:=",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, - 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, - 3.7760688056656814`*^9, 3.7760689018006496`*^9, 3.776070944758975*^9, - 3.7760710375243483`*^9, 3.776071235580185*^9, 3.783843343561288*^9, - 3.783843481583459*^9}, - CellLabel->"Out[23]=",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - CellLabel->"In[24]:=",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Join", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, - 3.7552808064463525`*^9}, {3.7552808483581448`*^9, - 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { - 3.7747942042782946`*^9, - 3.774794220390111*^9}},ExpressionUUID->"088c7a70-e175-477e-9f3a-\ -655c7cd3370d"], - -Cell["\<\ -Join (AND) function. The flow is either 0 or one in one time step. The wave \ -variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { - 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, - 3.776068777840438*^9}},ExpressionUUID->"6f15cb33-9e39-488c-92cb-\ -ee7ba955af67"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{ - RowBox[{ - "coauthor", "=", - "\"\, Emilia Villani\>\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550215020570135`*^9, - 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { - 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, - 3.77479422293149*^9}, 3.775317780594391*^9, 3.777541563880372*^9}, - CellLabel->"In[25]:=",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "11", ",", "27", ",", "12", ",", "38", ",", - "1.7487194`7.995295114488466"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068805716628*^9, - 3.776068901851528*^9, 3.776070944831899*^9, 3.776071037595276*^9, - 3.7760712356561046`*^9, 3.7838433436544056`*^9, 3.783843481879754*^9}, - CellLabel->"Out[34]=",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}, { - 3.7775415451696653`*^9, 3.777541546479336*^9}}, - CellLabel->"In[35]:=",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputVariables", "=", " ", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "event", ",", "1.", ",", " ", "double", ",", "\"\<\>\"", ",", " ", - "\"\\""}], "}"}], "\[IndentingNewLine]", - "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { - 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, - 3.7760703432387514`*^9}, {3.7760708301710997`*^9, - 3.7760708408820567`*^9}, {3.777541777142488*^9, 3.777541778549036*^9}, { - 3.7775420129573493`*^9, 3.777542016173033*^9}, {3.7838431937936945`*^9, - 3.7838432010782948`*^9}, 3.78384324873831*^9, 3.783843325635455*^9}, - CellLabel->"In[36]:=",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"inputParameters", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{"{", - RowBox[{ - "diffEvent", ",", "0.", ",", "double", ",", "\"\<\>\"", ",", - "\"\\""}], "}"}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.7760708823393207`*^9, 3.776070932245875*^9}}, - CellLabel->"In[37]:=",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"dEvent3", "==", - RowBox[{"onPositive", "[", - RowBox[{"event", "-", - RowBox[{"diffEvent", "*", "oldEvent"}], "-", "0.5"}], "]"}]}], ",", - "\[IndentingNewLine]", - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{ - RowBox[{"onPositive", "[", "event", "]"}], - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"oldEvent", "==", "event"}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, - 3.7550317139985056`*^9}, {3.7643431906677704`*^9, - 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, - 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { - 3.7760686995462093`*^9, 3.7760687190331187`*^9}, {3.7760703616637583`*^9, - 3.7760703689012976`*^9}, {3.776070858269133*^9, 3.7760708754684024`*^9}, - 3.7760710313776875`*^9, {3.776071229952984*^9, 3.77607123253732*^9}, { - 3.7838432101168375`*^9, 3.78384323494664*^9}}, - CellLabel->"In[38]:=",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942042813015`*^9}, - CellLabel->"In[39]:=",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", RowBox[{\\\ -\"\\\\\\\"\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\ -\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \ -\\\"\[RightSkeleton]\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\ -\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.5`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\ -\"\[Rule]\\\", \\\"\\\\\\\"270\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"event\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \\\ -\"]\\\"}]\\) in \\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{\\\"\\\\\\\"version\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"0.1\\\\\\\"\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \ -\\\"[\\\", RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"displayname\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"icon\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ON\ -\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\\\", \\\"\ -\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\ -\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,39,15,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434831797385`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,16,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434832734795`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 39,17,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434835859594`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,18,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434836328306`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,39,19,19014042857157888424, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839296846`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,39,20,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434839765563`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,39,21,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484007804*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 39,22,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.7838434840390525`*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,39,23,19014042857157888424,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068805838503*^9, - 3.7760689019883876`*^9, 3.77607094509263*^9, 3.776071037862*^9, - 3.7760712358828707`*^9, 3.7838433438998966`*^9, 3.783843484398402*^9}, - CellLabel-> - "During evaluation of \ -In[39]:=",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0"] -}, Open ]] -}, -WindowSize->{827, 636}, -WindowMargins->{{262, Automatic}, {Automatic, 47}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (April 8, 2019)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 271, 5, 96, "Title",ExpressionUUID->"5ee7c9b3-61b3-495d-947e-36f10d487fd4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[853, 29, 375, 6, 28, "Input",ExpressionUUID->"fb626f91-feab-4a07-b722-dbbcc151c4cc", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1231, 37, 1231, 21, 48, "Input",ExpressionUUID->"b61e84a1-9117-4d95-854e-6432998655f4", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2465, 60, 890, 13, 32, "Output",ExpressionUUID->"0059a820-b9c3-4725-ad02-bd461e591c7f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3358, 75, 819, 15, 48, "Input",ExpressionUUID->"f08428ac-a507-4dcf-b70e-fed094d55f5a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]], -Cell[4192, 93, 270, 3, 32, "Output",ExpressionUUID->"f1a4295c-b58d-4f33-b3e5-12208bfdf7fe"], -Cell[CellGroupData[{ -Cell[4487, 100, 862, 16, 48, "Input",ExpressionUUID->"a908591f-c3f3-4c9d-b1e2-c297b5aca660", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5352, 118, 918, 13, 32, "Output",ExpressionUUID->"e1f7b57e-4973-49a2-8b64-9f5727805f16", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6273, 133, 299, 6, 28, "Input",ExpressionUUID->"96c62941-67ee-4f41-b96b-bc238faf7f2f", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6575, 141, 595, 10, 67, "Section",ExpressionUUID->"088c7a70-e175-477e-9f3a-655c7cd3370d", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7173, 153, 504, 9, 34, "Text",ExpressionUUID->"6f15cb33-9e39-488c-92cb-ee7ba955af67", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[7680, 164, 1878, 41, 200, "Input",ExpressionUUID->"9335b084-863b-47bb-bc84-c039b71d3a5b", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9561, 207, 937, 15, 32, "Output",ExpressionUUID->"d0676b02-cbaa-496e-9a62-70f773763304", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10501, 224, 1121, 21, 105, "Input",ExpressionUUID->"2096f5b3-005e-4e58-a8bb-ee5cca97f503", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11625, 247, 1235, 21, 67, "Input",ExpressionUUID->"2cb343b4-4a02-4069-b70f-d2246ecff4f8", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12863, 270, 941, 17, 67, "Input",ExpressionUUID->"938657e9-f22d-4845-b3b8-9e4b7f5f1c06", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[13807, 289, 2054, 39, 143, "Input",ExpressionUUID->"5c2a5e25-e670-491c-933e-302886292168", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15864, 330, 241, 4, 28, "Input",ExpressionUUID->"91b365df-e70c-494b-bfc9-f2101325390a", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[16108, 336, 5130, 75, 130, "Message",ExpressionUUID->"f2eabf97-69a8-4b77-9100-9962a22c4ada", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[21241, 413, 1039, 18, 21, "Message",ExpressionUUID->"4a887f2d-d27a-446c-be43-04621c2bff89", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[22283, 433, 1181, 20, 21, "Message",ExpressionUUID->"ff4bc5fc-854f-489b-afaf-45c565a008d3", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[23467, 455, 1039, 18, 21, "Message",ExpressionUUID->"3f63e068-e730-49a3-af67-b5a14e0d0c58", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[24509, 475, 1181, 21, 21, "Message",ExpressionUUID->"36a5b4e2-9064-444b-aa5e-94a86996c362", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[25693, 498, 1039, 18, 21, "Message",ExpressionUUID->"2fe89592-f874-4cfb-93fa-795c4544ca70", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26735, 518, 1109, 19, 21, "Message",ExpressionUUID->"a2708204-1a49-4efc-8816-61aba56b18f8", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27847, 539, 1181, 20, 21, "Message",ExpressionUUID->"d51747a1-9163-47bc-a6ea-4315ab6f2d88", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29031, 561, 1112, 19, 21, "Message",ExpressionUUID->"2c2f6dbb-5955-43f6-b7c8-ad520c501aa0", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg deleted file mode 100644 index b28474c..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml deleted file mode 100644 index 800e4d5..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp deleted file mode 100644 index 8d18d3a..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.hpp +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED -#define ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED - -#include -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include "math.h" - -//! -//! @file ActivityDiagramJoin0.hpp -//! @author Petter Krus -// co-author/auditor **Not yet audited by a second person** -//! @date Thu 29 Aug 2019 14:48:02 -//! @brief And for a state machine -//! @ingroup ActivityDiagramComponents -//! -//==This code has been autogenerated using Compgen== -//from -/*{, H:, PettersDropbox, Dropbox, HopsanComponents, StateMachine0, \ -ActivityDiagram, ActivityDiagram}/ActivityDiagramJoin0.nb*/ - -using namespace hopsan; - -class ActivityDiagramJoin0 : public ComponentQ -{ -private: - Port *mpPpn1; - Port *mpPpn2; - Port *mpPpn3; - int mNstep; - //Port Ppn1 variable - double spn1; - double qpn1; - //Port Ppn2 variable - double spn2; - double qpn2; - //Port Ppn3 variable - double spn3; - double qpn3; -//==This code has been autogenerated using Compgen== - //inputVariables - //outputVariables - //Expressions variables - //Port Ppn1 pointer - double *mpP_spn1; - double *mpP_qpn1; - //Port Ppn2 pointer - double *mpP_spn2; - double *mpP_qpn2; - //Port Ppn3 pointer - double *mpP_spn3; - double *mpP_qpn3; - //Delay declarations -//==This code has been autogenerated using Compgen== - //inputVariables pointers - //inputParameters pointers - //outputVariables pointers - EquationSystemSolver *mpSolver; - -public: - static Component *Creator() - { - return new ActivityDiagramJoin0(); - } - - void configure() - { -//==This code has been autogenerated using Compgen== - - mNstep=9; - - //Add ports to the component - mpPpn1=addPowerPort("Ppn1","NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - mpPpn3=addPowerPort("Ppn3","NodePetriNet"); - //Add inputVariables to the component - - //Add inputParammeters to the component - //Add outputVariables to the component - -//==This code has been autogenerated using Compgen== - //Add constantParameters - } - - void initialize() - { - //Read port variable pointers from nodes - //Port Ppn1 - mpP_spn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::State); - mpP_qpn1=getSafeNodeDataPtr(mpPpn1, NodePetriNet::Flow); - //Port Ppn2 - mpP_spn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::State); - mpP_qpn2=getSafeNodeDataPtr(mpPpn2, NodePetriNet::Flow); - //Port Ppn3 - mpP_spn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::State); - mpP_qpn3=getSafeNodeDataPtr(mpPpn3, NodePetriNet::Flow); - - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - qpn1 = (*mpP_qpn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - qpn2 = (*mpP_qpn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - qpn3 = (*mpP_qpn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //Read outputVariables from nodes - -//==This code has been autogenerated using Compgen== - - - //Initialize delays - - - simulateOneTimestep(); - - } - void simulateOneTimestep() - { - //Read variables from nodes - //Port Ppn1 - spn1 = (*mpP_spn1); - //Port Ppn2 - spn2 = (*mpP_spn2); - //Port Ppn3 - spn3 = (*mpP_spn3); - - //Read inputVariables from nodes - - //Read inputParameters from nodes - - //LocalExpressions - - //Expressions - qpn3 = onPositive(-0.5 + spn1*spn2 - spn3); - qpn1 = -qpn3; - qpn2 = -qpn3; - - //Calculate the delayed parts - - - //Write new values to nodes - //Port Ppn1 - (*mpP_qpn1)=qpn1; - //Port Ppn2 - (*mpP_qpn2)=qpn2; - //Port Ppn3 - (*mpP_qpn3)=qpn3; - //outputVariables - - //Update the delayed variabels - - } - void deconfigure() - { - delete mpSolver; - } -}; -#endif // ACTIVITYDIAGRAMJOIN0_HPP_INCLUDED diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb deleted file mode 100644 index 7d5fe3b..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.nb +++ /dev/null @@ -1,726 +0,0 @@ -(* Content-type: application/vnd.wolfram.mathematica *) - -(*** Wolfram Notebook File ***) -(* http://www.wolfram.com/nb *) - -(* CreatedBy='Mathematica 8.0' *) - -(*CacheID: 234*) -(* Internal cache information: -NotebookFileLineBreakTest -NotebookFileLineBreakTest -NotebookDataPosition[ 157, 7] -NotebookDataLength[ 37541, 718] -NotebookOptionsPosition[ 34350, 643] -NotebookOutlinePosition[ 34778, 659] -CellTagsIndexPosition[ 34735, 656] -WindowFrame->Normal*) - -(* Beginning of Notebook Content *) -Notebook[{ - -Cell[CellGroupData[{ -Cell["Component Generation", "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7627280721197987`*^9, 3.762728097973707*^9}, { - 3.7747940713991594`*^9, 3.774794098262859*^9}}, - ExpressionUUID -> "5ee7c9b3-61b3-495d-947e-36f10d487fd4"], - -Cell[BoxData[ - RowBox[{"<<", "C:\\\\Hopsan\\Compgen\\CompgenNG.mx"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.525533906765625*^9, 3.525533914734375*^9}, - 3.577601924150117*^9, 3.753532820170209*^9, 3.753532868377143*^9, - 3.762728078322752*^9}, - ExpressionUUID -> "fb626f91-feab-4a07-b722-dbbcc151c4cc"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.5757727777685804`*^9, 3.575772792541806*^9}, { - 3.5757728423954945`*^9, 3.5757728498367076`*^9}, {3.57577333888545*^9, - 3.5757733706315055`*^9}, 3.5757734316206255`*^9, {3.575776746610216*^9, - 3.57577674854722*^9}, {3.5758034373456383`*^9, 3.5758034687537785`*^9}, { - 3.576215299790524*^9, 3.576215340163597*^9}, {3.5762155444425898`*^9, - 3.576215547684914*^9}, 3.5762159940865498`*^9, 3.5762161254666862`*^9, { - 3.576244738757578*^9, 3.5762447467603917`*^9}, {3.5764733859773207`*^9, - 3.576473408313554*^9}, {3.7535327446515784`*^9, 3.753532801407033*^9}, { - 3.753533115099475*^9, 3.7535331229782906`*^9}, {3.7549775904983587`*^9, - 3.754977604666751*^9}, 3.754977679553543*^9, 3.7627280783237514`*^9, - 3.7627282130049376`*^9}, - ExpressionUUID -> "b61e84a1-9117-4d95-854e-6432998655f4"], - -Cell[BoxData["\<\"C:\\\\Users\\\\petkr14\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine\\\\StateMachineEl\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.755325282964382*^9, 3.7626813134204435`*^9, 3.7626839961876745`*^9, { - 3.7627280783237514`*^9, 3.762728082244718*^9}, 3.762728231909116*^9, - 3.77478246431944*^9, {3.7747827023014145`*^9, 3.7747827237305226`*^9}, - 3.774782958441588*^9, {3.774783279023978*^9, 3.774783307379316*^9}, - 3.774783356326459*^9, 3.7747834532823944`*^9, 3.774795592346754*^9, - 3.774861398577976*^9, 3.7748619525444*^9, 3.7753177856576447`*^9, - 3.776068537628119*^9, 3.776068854606236*^9, 3.7760688870627756`*^9, - 3.7760712654763637`*^9, 3.776071318759997*^9}, - ExpressionUUID -> "f7eb2186-9cf7-4c72-8ea5-01c96564841a"], - -Cell[BoxData[ - RowBox[{"path", "=", - RowBox[{"ToFileName", "[", - RowBox[{"{", - RowBox[{ - "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\"", ",", - "\"\\"", ",", "\"\\""}], "}"}], - "]"}]}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.754985113560959*^9, 3.754985114033472*^9}, { - 3.757063485852047*^9, 3.757063485995899*^9}, 3.76272807832475*^9, { - 3.7747826878685503`*^9, 3.774782689771587*^9}, {3.774797375685176*^9, - 3.7747973875893726`*^9}, {3.7760688172187753`*^9, - 3.7760688264662404`*^9}, {3.7760688832017593`*^9, 3.7760688836492944`*^9}}, - ExpressionUUID -> "f08428ac-a507-4dcf-b70e-fed094d55f5a"], - -Cell[BoxData["\<\"H:\\\\PettersDropbox\\\\Dropbox\\\\HopsanComponents\\\\\ -StateMachine0\\\\ActivityDiagram\\\\ActivityDiagram\\\\\"\>"], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{ - 3.7553252830013437`*^9, 3.762681313451692*^9, 3.7626839962189417`*^9, { - 3.76272807832475*^9, 3.76272808233467*^9}, 3.7627282318551483`*^9, - 3.774782464352406*^9, {3.774782702334381*^9, 3.7747827237674847`*^9}, - 3.7747829584815454`*^9, {3.7747832790659356`*^9, 3.7747833074202747`*^9}, - 3.774783356371421*^9, 3.7747834533243513`*^9, 3.7747955924119816`*^9, - 3.7748613986319213`*^9, 3.774861952601342*^9, 3.775317785722578*^9, - 3.7760685376510963`*^9, 3.776068854630206*^9, 3.776068887090747*^9, - 3.7760712655133266`*^9, 3.7760713187989573`*^9}, - ExpressionUUID -> "b0628de8-4240-4cb9-a759-c769c3d3e251"], - -Cell[BoxData[ - RowBox[{"Off", "[", - RowBox[{"General", "::", "\"\\""}], "]"}]], "Input", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.76272807832475*^9}, - ExpressionUUID -> "96c62941-67ee-4f41-b96b-bc238faf7f2f"], - -Cell["ActivityDiagram Join", "Section", - PageWidth->WindowWidth, - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.516086509*^9, 3.51608651040625*^9}, 3.52240314025*^9, { - 3.7535317970818443`*^9, 3.7535318239181423`*^9}, 3.754991191627206*^9, { - 3.7550214968084235`*^9, 3.7550214976735325`*^9}, {3.7552807972398443`*^9, - 3.7552808064463525`*^9}, {3.7552808483581448`*^9, - 3.7552808485099845`*^9}, {3.765365251275384*^9, 3.7653652518263435`*^9}, { - 3.7747942042782946`*^9, 3.774794220390111*^9}}, - ExpressionUUID -> "088c7a70-e175-477e-9f3a-655c7cd3370d"], - -Cell["\<\ -Join (AND) function. The flow is either 0 or one in one time step. The wave \ -variables spn1 and spn2 are either 0 or 1.\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535320908646555`*^9, 3.753532282365305*^9}, { - 3.7549912370203238`*^9, 3.7549912440350904`*^9}, 3.7747942042782946`*^9, { - 3.7747942713572884`*^9, 3.774794273096493*^9}, {3.776068772753235*^9, - 3.776068777840438*^9}}, - ExpressionUUID -> "6f15cb33-9e39-488c-92cb-ee7ba955af67"], - -Cell[BoxData[{ - RowBox[{ - RowBox[{"domain", "=", "\"\\""}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"displayName", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"brief", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"componentType", "=", "\"\\""}], ";"}], "\n", - RowBox[{ - RowBox[{"author", "=", "\"\\>\""}], - ";"}], "\n", - RowBox[{"coauthor", "=", - "\"\, Emilia Villani\>\""}], "\ -\[IndentingNewLine]", - RowBox[{ - RowBox[{ - "affiliation", " ", "=", " ", - "\"\\""}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"SetFilenames", "[", - RowBox[{"path", ",", "domain", ",", "displayName"}], "]"}], - ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"ResetComponentVariables", "[", "]"}], ";"}], "\[IndentingNewLine]", - RowBox[{"Date", "[", "]"}]}], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.513785360140625*^9, 3.513785397734375*^9}, - 3.5137854683125*^9, 3.5153945210188417`*^9, {3.51608651940625*^9, - 3.516086528875*^9}, {3.522403083546875*^9, 3.52240310159375*^9}, { - 3.575772870974745*^9, 3.5757728916915812`*^9}, {3.60584801018426*^9, - 3.60584801687926*^9}, {3.753531830402015*^9, 3.7535318497890887`*^9}, { - 3.7535329032428656`*^9, 3.7535329063911552`*^9}, {3.7549912128203564`*^9, - 3.7549912207072244`*^9}, {3.7550215020570135`*^9, - 3.7550215088340263`*^9}, {3.755280868192692*^9, 3.7552808942538214`*^9}, { - 3.76536525978136*^9, 3.7653652604361925`*^9}, {3.774794204279293*^9, - 3.77479422293149*^9}, 3.775317780594391*^9, 3.7760685292677374`*^9}, - ExpressionUUID -> "9335b084-863b-47bb-bc84-c039b71d3a5b"], - -Cell[BoxData["\<\"Robert Braun , Emilia Villani\"\>"], \ -"Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, - 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, - 3.776071318870884*^9}, - ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], - -Cell[BoxData[ - RowBox[{"{", - RowBox[{ - "2019", ",", "8", ",", "29", ",", "14", ",", "41", ",", - "58.8419153`9.522261631502142"}], "}"}]], "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.7535328848148966`*^9, 3.7535329121154985`*^9}, - 3.7535331327717113`*^9, 3.7550215143633256`*^9, 3.755031739579131*^9, - 3.755283201122441*^9, 3.7643432865421467`*^9, 3.764346904519914*^9, - 3.764347089430435*^9, 3.7653652772881794`*^9, 3.7653655961515565`*^9, { - 3.765366236453781*^9, 3.7653662585314226`*^9}, 3.765366761177063*^9, - 3.774794204279293*^9, 3.7747955925446033`*^9, 3.774861398721828*^9, - 3.774861952702238*^9, 3.775317785840455*^9, 3.776068537688058*^9, - 3.776068854683153*^9, 3.7760688871406927`*^9, 3.7760712655842524`*^9, - 3.776071318874879*^9}, - ExpressionUUID -> "49690cc8-5c40-48b5-b358-97a5175e4746"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"nodeConnections", "=", - RowBox[{"{", "\[IndentingNewLine]", "\t", - RowBox[{ - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn1", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn2", ",", "0.", ",", "\"\\""}], "]"}], ",", - "\[IndentingNewLine]", "\t", - RowBox[{"PetriNetQnode", "[", - RowBox[{"pn3", ",", "0.", ",", "\"\\""}], "]"}]}], - "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.515774261203125*^9, 3.515774262703125*^9}, { - 3.51603387128125*^9, 3.51603387178125*^9}, {3.522403633375*^9, - 3.522403641375*^9}, 3.53224891889497*^9, 3.762728078328746*^9, { - 3.7747810345452485`*^9, 3.774781058090841*^9}, {3.7747823489520864`*^9, - 3.774782356258823*^9}, {3.7747938144278283`*^9, 3.774793819809081*^9}}, - ExpressionUUID -> "2096f5b3-005e-4e58-a8bb-ee5cca97f503"], - -Cell["\<\ -inputVariables = { - {event3, 1., double, \"event3 (trigg on value )\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, 3.754993159322428*^9, {3.75499320303636*^9, - 3.754993203039356*^9}, 3.755031730677309*^9, 3.7747942042802925`*^9, { - 3.7760685513030233`*^9, 3.7760686784409633`*^9}, {3.7760703077523346`*^9, - 3.7760703432387514`*^9}, {3.7760708301710997`*^9, 3.7760708408820567`*^9}, - 3.7760712575515366`*^9, 3.7760713073891582`*^9}, - ExpressionUUID -> "2cb343b4-4a02-4069-b70f-d2246ecff4f8"], - -Cell["\<\ -inputParameters = { - {diffEvent, 0., double, \"\", \"event3, trigg on level(0) or flank(1)\"} - };\ -\>", "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.51862830415625*^9, 3.51862836625*^9}, - 3.522403352671875*^9, 3.522403646703125*^9, {3.5320892483732347`*^9, - 3.5320892502013865`*^9}, {3.532248903689953*^9, 3.5322489076082892`*^9}, { - 3.7535310770227385`*^9, 3.7535310789444804`*^9}, {3.753531860881981*^9, - 3.7535318903088574`*^9}, {3.7627272500188117`*^9, 3.7627273460548697`*^9}, - 3.7627275033008842`*^9, 3.7627280783297443`*^9, 3.76553961741498*^9, { - 3.7760708823393207`*^9, 3.776070932245875*^9}, 3.7760713073891582`*^9}, - ExpressionUUID -> "938657e9-f22d-4845-b3b8-9e4b7f5f1c06"], - -Cell[BoxData[ - RowBox[{ - RowBox[{"expressions", "=", - RowBox[{"{", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"qpn3", "\[Equal]", " ", - RowBox[{"onPositive", "[", - RowBox[{ - RowBox[{"spn1", " ", "spn2"}], "-", "spn3", "-", "0.5"}], "]"}]}], - ",", "\[IndentingNewLine]", - RowBox[{"qpn1", "==", - RowBox[{"-", "qpn3"}]}], ",", "\[IndentingNewLine]", - RowBox[{"qpn2", "==", - RowBox[{"-", "qpn3"}]}]}], "\[IndentingNewLine]", "}"}]}], - ";"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.532248478932937*^9, 3.532248638440628*^9}, { - 3.571914197748662*^9, 3.5719142149866924`*^9}, {3.7535310915842247`*^9, - 3.7535311473072805`*^9}, {3.7535315340759363`*^9, 3.753531580504115*^9}, { - 3.7535316152480335`*^9, 3.7535316172745495`*^9}, {3.7535316889611306`*^9, - 3.7535317847886696`*^9}, {3.7535320068457546`*^9, - 3.7535320299450684`*^9}, {3.7535324291297054`*^9, 3.7535324760913725`*^9}, - 3.7535329786896353`*^9, {3.754991269059291*^9, 3.7549913100180607`*^9}, { - 3.7549930139652925`*^9, 3.754993017798341*^9}, {3.7550317093303185`*^9, - 3.7550317139985056`*^9}, {3.7643431906677704`*^9, - 3.7643431975270147`*^9}, {3.764343569262467*^9, 3.764343574978962*^9}, - 3.7747942042802925`*^9, {3.7747942627936115`*^9, 3.774794314605649*^9}, { - 3.7760711621119175`*^9, 3.7760711710417137`*^9}, {3.7760713129034986`*^9, - 3.7760713150632772`*^9}, 3.7760716703887568`*^9}, - ExpressionUUID -> "5c2a5e25-e670-491c-933e-302886292168"], - -Cell[BoxData[ - RowBox[{"Compgen", "[", "file", "]"}]], "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{3.7747942042813015`*^9}, - ExpressionUUID -> "91b365df-e70c-494b-bfc9-f2101325390a"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,141, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319029719*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,142, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713190656815`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Part","partd", - "\"Part specification \\!\\(\\*RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{\ -\\\"qpn3\\\", \\\"\[Equal]\\\", RowBox[{\\\"onPositive\\\", \\\"[\\\", \ -RowBox[{RowBox[{\\\"-\\\", \\\"0.5`\\\"}], \\\"+\\\", RowBox[{\\\"spn1\\\", \ -\\\" \\\", \\\"spn2\\\"}], \\\"-\\\", \\\"spn3\\\"}], \\\"]\\\"}]}], \ -\\\",\\\", RowBox[{\\\"qpn1\\\", \\\"\[Equal]\\\", RowBox[{\\\"-\\\", \ -\\\"qpn3\\\"}]}], \\\",\\\", RowBox[{\\\"qpn2\\\", \\\"\[Equal]\\\", RowBox[{\ -\\\"-\\\", \\\"qpn3\\\"}]}], \\\",\\\", \\\"Null\\\"}], \\\"}\\\"}], \\\"\ -\[LeftDoubleBracket]\\\", RowBox[{\\\"4\\\", \\\",\\\", \\\"1\\\"}], \\\"\ -\[RightDoubleBracket]\\\"}]\\) is longer than depth of object.\"",2,254,143, - 16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713190946517`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Part\\\", \\\"::\\\", \ -\\\"partd\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,254,144,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319123622*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","cntsList", - "\"\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"typename\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\ -\"ActivityDiagramJoin0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\ -\[RightSkeleton]\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \ -\\\"]\\\"}], \\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\ -\\\\\"portpose\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\ -\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\ -\"0.75`\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"hopsanobjectappearance\\\\\\\"\\\", \\\",\\\", RowBox[{\\\ -\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"modelobject\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{RowBox[{\\\"\\\\\\\"t\\\\\\\"\\\", \\\"\[Ellipsis]\\\", \ -\\\"\\\\\\\"me\\\\\\\"\\\"}], \\\"\[Rule]\\\", RowBox[{\\\"\\\\\\\"\\\\\\\"\\\ -\", \\\"\[Ellipsis]\\\", \\\"\\\\\\\"\\\\\\\"\\\"}]}], \\\",\\\", \ -RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"icon\\\\\\\ -\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"isopath\\\\\ -\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\ -\\\\\"iconrotation\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"ON\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"userpath\\\\\\\"\ -\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"ActivityDiagramJoin0.svg\\\\\\\"\\\"}]}], \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \ -\\\",\\\", RowBox[{\\\"XMLElement\\\", \\\"[\\\", \ -RowBox[{\\\"\\\\\\\"portpositions\\\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", \ -\\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", \ -RowBox[{RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\ -\\\\\"\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\ -\"\\\", \\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\ -\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn1\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\ -\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\",\\\", \ -RowBox[{\\\"XMLElement\\\", \\\"[\\\", RowBox[{\\\"\\\\\\\"portpose\\\\\\\"\\\ -\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{RowBox[{\\\"\\\\\\\"x\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", \ -RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}], \ -\\\",\\\", RowBox[{\\\"\\\\\\\"a\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"\\\\\\\"0\\\\\\\"\\\"}], \\\",\\\", RowBox[{\\\"\\\\\\\"name\\\\\\\"\\\", \ -\\\"\[Rule]\\\", \\\"\\\\\\\"Ppn3\\\\\\\"\\\"}]}], \\\"}\\\"}], \\\",\\\", \ -RowBox[{\\\"{\\\", \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"}\\\"}]}], \ -\\\"]\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"]\\\"}]\\) is not a list of \ -contents. The third item in an XMLElement must be a list of contents, even if \ -it is an empty list.\"",2,254,145,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319149595*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,146,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713191805625`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.25`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.25`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 254,147,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319207535*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,148,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319233508*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.5`\\\"}]\\) in \ -\\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\\\\\"\\\", \\\"\[Rule]\\\", \ -\\\"0.5`\\\"}]\\) is not a valid value for an attribute in an XMLElement. The \ -value of the attribute must be a string.\"",2,254,149,16172176550883650673, - "Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713192584825`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "Export","autofix", - "\"Malformed symbolic XML expression encountered. This may result in \ -unexpected XML data.\"",2,254,150,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713192844553`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"Export\\\", \\\"::\\\", \ -\\\"autofix\\\"}], \\\"MessageName\\\"]\\) will be suppressed during this \ -calculation.\"",2,254,151,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319310429*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "XMLElement","attrhs", - "\"\\!\\(\\*RowBox[{\\\"0.75`\\\"}]\\) in \\!\\(\\*RowBox[{\\\"\\\\\\\"y\\\ -\\\\\"\\\", \\\"\[Rule]\\\", \\\"0.75`\\\"}]\\) is not a valid value for an \ -attribute in an XMLElement. The value of the attribute must be a string.\"",2, - 254,152,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.7760713193374023`*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"], - -Cell[BoxData[ - TemplateBox[{ - "General","stop", - "\"Further output of \\!\\(\\*StyleBox[RowBox[{\\\"XMLElement\\\", \ -\\\"::\\\", \\\"attrhs\\\"}], \\\"MessageName\\\"]\\) will be suppressed \ -during this calculation.\"",2,254,153,16172176550883650673,"Local"}, - "MessageTemplate"]], "Message", "MSG", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}, - CellChangeTimes->{{3.753532885828144*^9, 3.7535329140382867`*^9}, - 3.7535331349449224`*^9, 3.75502151456112*^9, 3.755031739742962*^9, - 3.7552832013172407`*^9, 3.7643432867375507`*^9, 3.764346904818359*^9, - 3.764347089689954*^9, 3.7653652773581076`*^9, 3.765365596257448*^9, { - 3.7653662365546765`*^9, 3.765366258654296*^9}, 3.7653667612969403`*^9, - 3.774794204282284*^9, 3.7747955928822556`*^9, 3.7748613988926506`*^9, - 3.7748619529329996`*^9, 3.775317786104183*^9, 3.776068537783958*^9, - 3.7760688548100224`*^9, 3.7760688872645655`*^9, 3.77607126582001*^9, - 3.776071319361377*^9}, - ExpressionUUID -> "c63178eb-ad74-47e1-aa06-c863621487a0"] -}, Open ]] -}, -WindowSize->{1224, 632}, -WindowMargins->{{Automatic, 236}, {Automatic, 138}}, -PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, -FrontEndVersion->"11.0 for Microsoft Windows (64-bit) (September 21, 2016)", -StyleDefinitions->"Default.nb" -] -(* End of Notebook Content *) - -(* Internal cache information *) -(*CellTagsOutline -CellTagsIndex->{} -*) -(*CellTagsIndex -CellTagsIndex->{} -*) -(*NotebookFileOutline -Notebook[{ -Cell[CellGroupData[{ -Cell[579, 22, 270, 4, 101, "Title", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[852, 28, 355, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[1210, 36, 1211, 21, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[2424, 59, 820, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[3247, 73, 799, 15, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4049, 90, 848, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[4900, 104, 279, 6, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5182, 112, 593, 9, 70, "Section", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[5778, 123, 506, 9, 30, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[6287, 134, 1838, 39, 202, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8128, 175, 807, 12, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[8938, 189, 873, 15, 30, "Output", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[9814, 206, 1049, 20, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[10866, 228, 866, 15, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[11735, 245, 755, 13, 68, "Text", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[12493, 260, 1543, 29, 107, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14039, 291, 221, 4, 30, "Input", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[14263, 297, 1520, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[15786, 323, 1522, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[17311, 349, 1522, 24, 23, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[18836, 375, 1018, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[19857, 394, 6272, 93, 95, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[26132, 489, 952, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[27087, 507, 1092, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[28182, 527, 950, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[29135, 545, 1094, 19, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[30232, 566, 952, 16, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[31187, 584, 1022, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[32212, 603, 1094, 18, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}], -Cell[33309, 623, 1025, 17, 21, "Message", - CellGroupingRules->{"GroupTogetherGrouping", 10000.}] -}, Open ]] -} -] -*) - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg deleted file mode 100644 index 2d2e778..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml deleted file mode 100644 index 07b0a3c..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin0.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg deleted file mode 100644 index 12dbb87..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoin1.svg +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp deleted file mode 100644 index 2aa05fc..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramJoinN.hpp +++ /dev/null @@ -1,129 +0,0 @@ -/*----------------------------------------------------------------------------- - This source file is a part of Hopsan - - Copyright (c) 2009 to present year, Hopsan Group - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - For license details and information about the Hopsan Group see the files - GPLv3 and HOPSANGROUP in the Hopsan source code root directory - - For author and contributor information see the AUTHORS file ------------------------------------------------------------------------------*/ - -//! -//! @file ActivityDiagramANDmulti.hpp -//! @author Petter Krus -//! @date 2018-12-31 -//! based on ElectricCapacitanceMultiPort.hpp by Björn Eriksson -//! @brief Contains a multi in join Component -//! - -#ifndef ACTIVITYDIAGRAMJOINN_HPP_INCLUDED -#define ACTIVITYDIAGRAMJOINN_HPP_INCLUDED - -#include "ComponentEssentials.h" -#include "ComponentUtilities.h" -#include -#include -#include - -namespace hopsan { - - //! - //! @brief A ActivityDiagram AND multi port component - //! @ingroup ActivityDiagram - //! - class ActivityDiagramJoinN : public ComponentQ - { - - private: - std::vector mvpN_s, mvpN_q; - size_t mNumPorts; - Port *mpPpn1; - Port *mpPpn2; - - //Port Ppn2 variable - double s2; - double q2; - //inputVariables - double event3; - //Expressions variables - double dEvent3; - double oldEvent3; - - //Port Ppn2 pointer - double *mpP_s2; - double *mpP_q2; - //inputVariables pointers - double *mpevent3; - //inputParameters pointers - double *mpdiffEvent; - - - public: - static Component *Creator() - { - return new ActivityDiagramJoinN(); - } - - void configure() - { - mpPpn1 = addPowerMultiPort("Ppn1", "NodePetriNet"); - mpPpn2=addPowerPort("Ppn2","NodePetriNet"); - } - - void initialize() - { - //Port Ppn1 - mNumPorts = mpPpn1->getNumPorts(); - mvpN_s.resize(mNumPorts); - mvpN_q.resize(mNumPorts); - - for (size_t i=0; i - - - - - - - - - - - - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc deleted file mode 100644 index 1486b25..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.cc +++ /dev/null @@ -1,51 +0,0 @@ -#include -#include "ComponentEssentials.h" -#include "ActivityDiagramInitiateState.hpp" -#include "ActivityDiagramEdge.hpp" -#include "ActivityDiagramAction.hpp" -#include "ActivityDiagramActionN.hpp" -#include "ActivityDiagramDecision.hpp" -#include "ActivityDiagramForkN.hpp" -#include "ActivityDiagramJoinN.hpp" -#include "ActivityDiagramMergeN.hpp" -#include "ActivityDiagramFork.hpp" -#include "ActivityDiagramJoin0.hpp" -#include "ActivityDiagramJoin.hpp" -#include "ActivityDiagramMerge0.hpp" -#include "ActivityDiagramMerge.hpp" -#include "ActivityDiagramMergeN.hpp" -#include "ActivityDiagramFinal.hpp" -#include "ActivityDiagramFinalNode.hpp" - -using namespace hopsan; - -extern "C" DLLEXPORT void register_contents(ComponentFactory* pComponentFactory, NodeFactory* pNodeFactory) -{ - //Register Components - pComponentFactory->registerCreatorFunction("ActivityDiagramInitiateState", ActivityDiagramInitiateState::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramEdge", ActivityDiagramEdge::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramAction", ActivityDiagramAction::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramActionN", ActivityDiagramActionN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramDecision", ActivityDiagramDecision::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramForkN", ActivityDiagramForkN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoinN", ActivityDiagramJoinN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFork", ActivityDiagramFork::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoin0", ActivityDiagramJoin0::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramJoin", ActivityDiagramJoin::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMerge0", ActivityDiagramMerge0::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMerge", ActivityDiagramMerge::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramMergeN", ActivityDiagramMergeN::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFinal", ActivityDiagramFinal::Creator); - pComponentFactory->registerCreatorFunction("ActivityDiagramFinalNode", ActivityDiagramFinalNode::Creator); - - //Register custom nodes (if any) - HOPSAN_UNUSED(pNodeFactory); -} - -extern "C" DLLEXPORT void get_hopsan_info(HopsanExternalLibInfoT *pHopsanExternalLibInfo) -{ - pHopsanExternalLibInfo->hopsanCoreVersion = (char*)HOPSANCOREVERSION; - pHopsanExternalLibInfo->libCompiledDebugRelease = (char*)DEBUGRELEASECOMPILED; - pHopsanExternalLibInfo->libName = (char*)"ActivityDiagramLibrary"; -} diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro deleted file mode 100644 index 7ed85d8..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.pro +++ /dev/null @@ -1,50 +0,0 @@ -# QT -= core gui, means that we should not link the default qt libs into the component -# Template = lib, means that we want to build a library (.dll or .so) -QT -= core gui -TEMPLATE = lib - -# TARGET is the name of the compiled lib, (.dll or .so will be added automatically) -# Change this to the name of YOUR lib -TARGET = devTestLib - -# Destination for the compiled dll. $${PWD}/ means the same directory as this .pro file, even if you use shadow build -DESTDIR = $${PWD}/ - -# The location to search for the Hopsan include files, by specifying the path here, you dont need to do this everywhere in all of your component .hpp files -# You can also add additional paths for eg. your own Utility functions, just add additional INCLUDEPATH *= ... lines. -# *= Means append unique -INCLUDEPATH *= $${PWD}/../../../HopsanCore/include/ - -# The location of the HopsanCore .dll or .so file, needed to link against when compiling your library -LIBS *= -L$${PWD}/../../../bin - -# Special options for deug and release mode. This will link the correct HopsanCore .dll or .so -# In debug mode HopsanCore has the debug extension _d -include(hopsanDebugReleaseCompile.prf) - -# ------------------------------------------------- -# Project files -# ------------------------------------------------- -SOURCES += \ - TestLib.cc - -HEADERS += \ - ActivityDiagramInitiateState.hpp - ActivityDiagramEdge.hpp - ActivityDiagramActionN.hpp - ActivityDiagramAction.hpp - ActivityDiagramDecision.hpp - ActivityDiagramJoinN.hpp - ActivityDiagramForkN.hpp - ActivityDiagramJoin0.hpp - ActivityDiagramJoin.hpp - ActivityDiagramFork.hpp - ActivityDiagramMerge0.hpp - ActivityDiagramMerge.hpp - ActivityDiagramMergeN.hpp - ActivityDiagramFinal.hpp - ActivityDiagramFinalNode.hpp - - -OTHER_FILES += \ - hopsanDebugReleaseCompile.prf diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml deleted file mode 100644 index be04e13..0000000 --- a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLib.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - afd1b9b5-0b66-4d17-9e90-1da59a2be242 - ActivityDiagramLib - - -std=c++11 - - ActivityDiagramLib - ActivityDiagramLib.cc - - ActivityDiagramInitiateState.hpp - ActivityDiagramEdge.hpp - ActivityDiagramAction.hpp - ActivityDiagramActionN.hpp - ActivityDiagramDecision.hpp - ActivityDiagramForkN.hpp - ActivityDiagramJoinN.hpp - ActivityDiagramMergeN.hpp - ActivityDiagramFork.hpp - ActivityDiagramJoin0.hpp - ActivityDiagramJoin.hpp - ActivityDiagramMerge0.hpp - ActivityDiagramMerge.hpp - ActivityDiagramFinal.hpp - ActivityDiagramFinalNode.hpp - - ActivityDiagramInitiateState.xml - ActivityDiagramActionN.xml - ActivityDiagramAction.xml - ActivityDiagramDecision.xml - ActivityDiagramEdge.xml - ActivityDiagramFinalNode.xml - ActivityDiagramFinal.xml - ActivityDiagramForkN.xml - ActivityDiagramFork.xml - ActivityDiagramJoin0.xml - ActivityDiagramJoinN.xml - ActivityDiagramJoin.xml - ActivityDiagramMerge0.xml - ActivityDiagramMergeN.xml - ActivityDiagramMerge.xml - diff --git a/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll b/ActivityDiagramLib/ActivityDiagramLib/ActivityDiagram/ActivityDiagramLibrary.dll deleted file mode 100644 index d69ff5bdc6be0abd4747bf159caa2e78499226eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289740 zcmeFa3w)Ht^*_7;f}q4*)F@V|tD*)K8bBjhhDV{2P#ZH-kl;%x&+@Y>XC1gq=)i9wAw#B1K~IcH{`d7j;nQ2YC|{lCqJWS%*5 z=FB-~&YU@Oc^*nms|)lF1Ok2V+u0ciG$N&+0{*-8Kh-GSaj#W72JY|w?B0!8#n0}2 z((E}4!<7r>pR=I+{P2wOdGqE+!)I577gWs)&zTpVbo`X?`SWL14A05geuyGnS`-M( zyfPH{%VSrS2X4y>JP`^6Is*HLcj(n?_rUi+x-=^g*gg z4j@B6rAYe%J|&yw3IxIomb&!FL`-5J^;v-nDASM?ID8O2sGriTz;tR`|8!&p%CdDP zJq@R_0(t4+z@+=L0*$2TE`EkbE0#o2*66H0h~q!A?Sw0 z?t|3&DF~D%hc6JsnWX42%J)aw*N<0LFuYRmSVqVi*adh8`|3e=SC)pC z96s^HlZZC!rA5)Z(2rM;93Gv^{LLohl)}5%k5>l$Rm`0~15Ht1cc7g5f^54cw*7|R%Y?uaA=BB}j5mym z@)h3l40xk|%6Jj_TcGfM;m0eOz)1i5^Zz>yOo`NN3O^KpK{&B}0)a@ZDH2=b%-RW$ z@!WfIvjUOYjgeR{Wd2H-Sg&YsL^9IMo-9(cHhlV;MlvRO4DJ;uoLYF&)Kg9-vU#=7 zPmVoP5__WR!g%(Lmt_TNlfi5E0(Om)6^RcX33?+sAEVl_>?#yT;=|thT~?rdyN4W* z?|dl|+tLvU-a9H%o2=RtiH{$M3i0h~w)6@veGio$+6#Z2J;Ai*An)`u&pM-Udf^#s zW(^PSwG_o@>+38ou6m;)67RELK0s*ufnBKWNW8Ki8aR4oqcW z;_VTe!N%37OKfBXmktJAd^?D>^b1r~z}*0>-5gx{JW-2h?*Q~j9BNEPb4p^)Dh$Cu zaqP{`mYVF#;7^1*sLy47M6&HCot>Stf_qH@YJ9(;pfEW;V2G21&j6iB?1|{n#qnW# zGrT0=tRQ%7U8Lrtevz?XEZ#X1-!)SEeDvea=M`wthmlyD^H4YtnB0u{7C)1l`_RM? z7?Et=j?&0gz0R_SIZQRQCc^or$e;!i?1jegnZt9qqp${pe!n zGfarJ$=JH8!8PAxRW$-GoV9=3+1WPN=!*)Eb&eXqgjccB(9k+nIaoUZn5OPM0GrGW zcIGCcnj^SuQp9dGFk@t~fSn$e7qk zLk@|=iihMm&+dRR)i0Oq4)8d^gU{?F6!r$jE_lm`olB<>zkO$^5pNltEBPf4Pv9*R4C04ok%c=PR0 zDzsHpU!2Ik>1x7X9f@-lXLFsZ0QViwzF1>6fWS`;fvE-z0*4?TvnofwM|I1R8`uz7RN6V-|qGZH7S5fI;9dM|ud% z7Xk%B;EP`>9h8E=d_&+l0|tRd=XwYX7Xqb1;C_u+1_F}|frJ5rz-y;^2z;18Hc?b2 z1Qu${N)Y%(e{F`v1`Gllf9D}^w-Bfl0wWb>Z8eX`+!qaves&4SM3456sbDfvjSa#< z%uNPS3o{3YxxY4)9EAswr)e(u3{NhfQfpN_VtNe`QKLq_pE!mRq>GOqJ?U@`7D> zwy7GDsw?f%Nv1R`rMK9n`a2+}kux}oxQmv7zDW^8V^as!ToTHv+WYcL2GLGX)ga8wA1(y`AmHPf z=1k|A^t!7E`yp@`aQ+MwMOn?*o%_N5h@+7(jTjIN0ok$RX)qF($`h`oJt>4>0eZOyGpNB>7^>2r&1c1 zMDKg0-;Y%Kx=No@>0>JWi%PFm>7^>2r_wW3dYnp+Q0Z_^b-YOnKa9br5#tZM2(~kz z4{WDqOJ@XeW;nX&p?+j0r(lx_2pty!p&e^IJa57?<2V}#kT_{bI1+ocI57#qC#vQ- z6S+;H6;OOgvKjJ7Qyd zuh^Qzl&nb2;V(mima0$MS6lSs*{4XCH+;4aWARB!XE_6=2zWByrg| z@;7e`yY(PEja?IIMy~)j5Zx{E%ygL!PkmW9vF|KOwwPGm-f^(g+dogSEtncO$WnBO_jkeTqMk*!PjW*G0y@ z9^E$*>xg{W5{Zre{l{oFmVFN;ZtEm}r16W~sug{odme#nlapgj!KJ^2)D$jGhLOalwvKp`%q$-e zL~vwuiR`^WiWD@46vVdKnLC0BXMc|(sxkT!JTzy21~1vaPaxTxP5zRU4`DvVBMjx~ zk0@8vfyWkk+|rr*>5ar#&RM;P*=*44%smI7RYU|6NoVex$T@?sRE@-o27y?Dcu5q& z)Ux-%W7`ramMxU*6KnlJHDC9R?%c>tll2<=b}qt-&V|=$d(0lyJ1bB#rdPCYbAVRh zHDC9N?o4aL0)u?|ncV+_hyI1y9=#7GV?T?&5sCMvWnC|fgPJwiarmt2L%WXCA1$^& zq}JObl6oY`fQrP{ubE}pFXg2~{xW}KA{h76$ctcQI*pd7WyM&Y&K6HFA`}P|HtqqY zSCPEMiAWiAIVuYpdoD;Ci^5$D08%8jA%eomu@0vS1sYBy-`__Kdw8)HM1JP-< z*eyZJFBiv}gV%1R&WvY&w;(G}gdVR+_A8EuipRdNV3$a|wBMxoY5hvFHXt9o0?U~| zVNDYTYI0EF*tRMd`m0V37W!;)YlBPQCQ^yH=LaH9@AjS?`>?q8u-}91-0&9(r;_t`X+jCjZ;vQ zdOSL0a;&Yeu>kdpd*@7~il8`#7V;RrzeYvW%d5#Af|9Jsu`Lk{%h;4EzqmoA`xRCgt^Wj-bLsPBWlTzVj2> zG4SepYT?PGa@rx}VOtg-d@D%7ALd44o4^3=-xZ#DhTgAf&R&FK>St#l>?*Q6lIT-_ z-zTtKhp$L=IEUrnAwIeWNX^+LK&BrI{wn~83|&j66vnU_M-0Q?4265&vfZUO;O`EX z?msEMM^Wv@U~LhqO^Q$HQ&jtWuyzb*j_p@e`()J~u<-$t;=PM7J=D_XW&GGawND0X zccI5A{V-yJwYd}@0S!YTSaT>;hE2O6XuUXbe#_*?h#k@+D#m*UADGgwIP1;gtW?d{ zq2hQTxO4&t1+Td1;N_0@GyC3vN-lZaqQ#bSTfQ(tFVz~&q%DO#VNv8 zlxlLp?_~}cv2ny^FnR4tD7`p7`tdqu;2H38Hy+z}m;J<=buiF1gT{?M0KPGpSVkQN z57;|<59H$^xRQTF;*oyJ{9<1hcD@WV3ohLm?4aAffb%JdwZUUL*fnXH6z?;ru=B=!08NLe zJ}?j>PmVo5`SPbob4#C}9E?048M=CMqED!hT@AFtYB++n!9GW8!3V86s5A?E&vqqp zak^4}s`NMsp2&IWJ8;!p)PmxGQ~eEkNzp0k|EZ4z37|==17_RBM56cLx90Ik_zb&W zk@!S(>coEV49+N^pn=2DfO7zzm6IcX9nTtneISrrJYzi8cFBbojYqda#RH+@;8h#Z z%y_U{9b8IgKR%nvYF_|!#Pbhf1O%KW+9Si(WpL?{)G5?EyW)WhJ6kZ-(FCC5vGF%D z?I%!i@x<{raApNH@pC*@T?U#Qk@3D8Xky_RjbihdwH#f^g`LkEngxOJ*fU8+=ZwFZ zsu!R-sl^#?SOQ#Fs=)&n5=(8f(T^OTj2}$(o5x>6$v$S@Si`PdczF{?ht4GY;rK_y zG4`byegx&D1TY+|Jr>k00`(|En`9StVt1qwL11<-6NDFlAW+up9DzOxs2g9H_$lm^ zW2Zb4dm^44I-gu<)qauM52Io9@p|lIHfL|1tNhdj=rVH6yJ+dcDw^VWCNa1_4CW#7 z?l?|Js*0h40q^of@ah)wyt zHzH4X?waO)k)cj(; zaIgk{18l|7k&DN(^+t!XBGqQJ=v~st&U3qZ&ZxZ78Yj za)_r<&sC_=dDK))OuvPhYdaHo;y*V}=mU@cC2XW^5`c9)9)e59;F-rnu(nuevZ3v& zX%>TKaOnsXsWBmR`vPDw_CE1M=O(WGS@!uPmHrK-0^-q6p5=;zMd z?XHII;)8cV21j|(Q8@6rhC$QC~Qo{V<9^Bgh?j=2?3FMjRFU+bZlvsU3pD!7y}zMO^go z7~;H~U$XsIBBVJZMx17!OMpa94Z{ad=VW52Gxu5)vm>J6w1)N9enTDGYdm{A(9rro zh2X}&h~yGEKSgP0?sv+H<^7}VQeio`)6_IJb^zXi1YHQ|q)*(V`K_KZ%+ zDZq22_Q~kLNc_~0vjG+Pu=drekHOVMDs0XkgoJ*Yvv*Zbow=K?0&Bk%dyZ%K0vufI z+MNCQx#GdB=CS_E`3hjz5y`i)&iN%=R9h5wD;5`-QFwSHt7$~?^09Q4Cz`cpL~_>U z7Yy2=7gp04&$BKcTXI^oKb8T~Ui)+2cu>_3K3KR5BDJhR!3QVzg-And+Oi^v0kPsl z@%p?;@qz)9$F>y5nilu#9l?s@sRcVA%FZhuyT0meqHL`vls#fG=vaVVOny`{IKQT#JrB}BBd8~GQDEC z#qB>w)qe+zKvVBVhQ3Zd4-q<#y0&KlCk2}GZRM{A-~R>8c|s7%A!o|=M8u{Ev9`#J ziH8RtoHVGfRj&0FAH9GmKto5AoCfzE-N9m;CY7BHk)xoLb-@RZf>KWE3#A-IO8L7{ z%B0nKnb{lM32XkSp%KcO@-p6(*i4$hzjyGJf> z<6KSuKx7y{ap__xswo2Cv{Sw0>eyFUFn_*tzn5_viuNJbsq_Jr{$8awtMp2hE>h_% zm7c89qf~mRO7~akt}5-T(#8-Cw1F*1$^on{h2zrlyT z+(nOMpgzNgUY`lwrGAJHeT6})zylH`t4g9VXf9{ahtwC-5n$<}I*T4KmXSU`4W9ZGVa652;^v7(oZ#N@ozFjP%+A=#6&g2S7F zSALIK9^@Ixh0^u4b+x}ncVuaX;?)Jr5X_*Jy9s7+ll0ULT#_hB6>?0AQOK7VYL`iO zasq2ugG(*6=K+cuR4t$+wz%<&BB0IvEv}zpsll`rZ26sHc(K}QqKWwd$LVcsWQezq zz?KsQ`>GJy&mMP)cmsMq-aON(?P}+jx8sr#reS2LIK;J=Zj7Gbq41RuMFg}Rdztn< z3m-z;*b>XW>tnQ>$bFj`t2@&{qnw~UpiMY`ZOSmO*rOa?%TP#ln2 zR|`ID{YJXfFP9`r;O{`All2Q1S5%1>D~a43kVC#f=Z8wZ9%{ue;K0cR52V(oNP!Ag z2vyT~jup)Y2uBCGAHUBsMdI0Q7m89*#A<58Ss3|OQrUOrnQB3$kzcV&IY$VOaAoN9 zIIyG$tdL5X6nZKhDYs=JREf3lieM9M&Nth&F{T=5q($6;r$_K-PESVg%Jak{h=YL3SZ7ELtoFK}Wt2sO z+4q9-tl%l=0p)%?zKgub5}PIM-Noa?tCw>j4{G3EL2eK3Pm2(VSFi9QNV5Y2ZP*Kh z5xGO^Q8d%p(%xHcXr!ovHa|cpt@JoKB-If_W?JiLcAojse@ad!RNLO#G{+pNH0?*m>YhW(sF%Jla={MO7T1U?t4E zSg$%$X>l5BZAX;6j+P_|uFydOor~s7;9SS^+ZJlsy%kqS**H7d=ITEU(KCvz!3op)ncYqf{IgH^oeLmtjXB!d4f#Qk<14% z38KWmqV4TqUx}2FZV*^C>X#c= zA7o;9m7-uV%wAA??bFzb)~RJsE?|Y?D+ua z8thjDY}gNheN>#9ABjyLl1Jlj;JZ9xCJhPOx)17BfJoi^YfU~Z`RjB(B>BticEEb0 zuwDRWO5fCqKSoz71$cME<0uU-1Gvm!?`e~St$WM2V|$uQirIFeN-L$p zW~xkM0(MH!xf~gQNg|=>awf@JgX5ULyBX@e;bj=Xh##NR5*`z?1-w zw8=d8iO<>W?Wq!$Dg!*gkO05LNh-~F?6j^lbjqakRW8+Hl?rgJ2UsA$du%#KfDYY< zA_pNpDJ_16M_DnGtTp$950LP3Cgg_EUVPjT-h-VB9=?7pL%7ZNopELZNpbBek^3Em zO+r(WCg*Fk#$FFA^X>U6af3z4+g_LJuRx=3jdM01*gt099RO410a zbPA#mjo_-pP!O%CY>0yb(P0Z=Gi88cEQk;_3#4=K;SFmNIMBjq5uWBNR1!n-oihaF=u1*JuO|p<0YqpC8 zW|ol}kY;cA2ZgnHpCGjDu+*Y?{w<1q4EBuY6U#D$*ah6E39%&`;t-qIlvVSwI5$~W z8w6^WVhGVOq0(x~S|1BY*2i?CMJ?ZGPOIe*F)j(l%J2R}T~D{H4CrhDr7%(B7ezoj z4yWO?jC++lse)aI6K!6`)piIp3_ri$2BJst#$I%a)&ja*%Ah@QfU6gC`R18#-mi8p zx=t2V(t_VjaDI>X+0N95p%h#DFM%iy-ag(Efyza7MuXu=Mq}gkq)&S zC*nlEEl8_6p7fp7cafHN^lCZMrIxuQQIc=e%nOWKFhR|7f@a5qDD+JF(4epX$e<+j zj9=M>cn^nNmYy;7G&ws#_oC-kqA9D#NAWCrdJxA@tYSo&lj8N}nOBgjot>{$ zdRD>1Ra{@`*`-k_^)l&sZ}=SO`7}zv-}7|GFs4>>Y8$D^x$Pp-Gig!F_5s#wqGwrx zIj2GaX^JlGQqf$JC@HfPU50koi=sIJH!rRru4q$2N&vcEK=n{Geq~?c5->xGMhHs` zHjp5Hgz`nvNru)|bCP?)D@2lP`dB*AqdsH=21P{u{5;(}C!{X+DDK3z48^4iKvZ&> ziqg1C>3bobN#pmx*FfVAC1AAd1=e^Yu@|r91keL7v^35FEx`h?jgHD8Ayn1my#EK< zq9EhP7R7h?Tm2~Y5Hd1^Ws#Q1J?kYc@u_oI;zVsd(7?jjs|IhjL)EKn-Y28O7KJ;cpA)6Z7gX2SdAjcELj(Gcsi!#=s`>GU1&O9 zpRe{H6xo4l$APo(u#Md2O{&c+sH)naAP^ANdl9PB5L&$m#2Qg(dy;g>(`;3LH##FY8evC%1t>$LP^nT%~!8Y;2?@R-OOpSU| zW42vGE#iq%DZ>?KZ(!?;c0NKR=jCfxAaQp-WCJ8^|6>b~oCjLSlGm91k0a5pXaA!D zQ=Vu4gDZ59F`rBOb^72?_CNBdeRuyONm9sQZRVZq{sd6_AI}qEl4Q{=F>%@dFyON^ zxP{E#fFlAHs@?8?2r}<~Ff(cUAG(pG>i-JG3yoj!_JPi)z{Hb(*DSBm;0}QAGvK=g z48uv}&NUq0EKtKSNOiscp(xP)hhjKFI%Qh~Kc~43Gk?eEd`kE|Oy_CMx4U6%XAKSm z+}nV^ovEbF2Y5Hb@Vf#w41<>Jcx2kK=_jOZ6_>IV=xx3~=tjcA;w?HKlKfS6YuNWl zN$mo#G_6G|{6t-;6yQ@0c$@~80erRr53xz6?R$`CI}`U3;Q@SmAJbiOtldpBlz!BB ze@*8Lg!N}6uevI++!59*!OXAzrdhv5RjRFKJk=IxtXJv3R0{WXXwFlc85;&TL;Rd3F>AtZ#Uk%May0o%_e1?b(5qyS&`0M$Tg zVxV$IrMP`ZbhOpp>8a5nWUli7Qv$ruCevS$F+0Z7JypU|EX@_u6o+=G$y)2Z5UZ6*;|MLt7m1u**+G ze9k77tx0esS!9{1k=i9M)p^OKl*$MN>qi&DO#F{Wr6_k$d&2s1u)eFlTXeh|H(W`YGAV#E;v$Z3;eI%(;SiYx_j zkx~#9Sz6#Cr3EUoMCBqSDiv9xa*+}h&mnyeA!ppPq(s``DI&Pq-r;ApRgreA-*LRz z+kr^2y5*ulYLOb3v;U_R5?=BXVr2@88YjuHY1D-0oK??w7*KZ!JogALQ?&Tha1GIK zMQufSAfNr~R>%fGHTz;vmDrwIH+D!Os*N7R|2~{07Kd7kRJUHiAzuSOP9-u{pw1ne zw2FulY6euFw^&8O;J^TFedoDRY+C%8^^=^awvOo>TAk}63`n96aRs8x3DVH5A z@O!n+r-a`Nbv^_ZPBn~8(cmz^6Ak!q4bBJn6vOa-0yYeTR@d=sM38M2mx_w>g{AjT zRoxqw{3|+7Q#3?qmb?i9TcvgZSX%ys*6a#H7`EX6DhVg?vAMS*l+HIeh_@#{eh_r+@ukt?O$*BGdzI}g;liCj$fD1XeQn>pJz_+p;sGpzH@_FkZaQ< z$zFvi@$E{x2)3sh;i=j#DszkK@Msr}QAL2MyNdpZavS5dEs<&0J&-1}FAcsvkQu*5;T?l6>fp?Y4gDpBJ4_|h` zt)#SgrXEPn{*QX&nM3^XOi^#@BlkYicaKm7^a$?D(bk-IKMu15T=v~V#B-LE!II0G zt0QR1+KK!0G46IagH0!@sV)gW|C#~6q`@r!KX1T~2^b{1+lG5bFnQSq7v{TzbfqSr z6fd(#=NlwH%d~?jii`^3PYRqIW;i)S*XRIvivbT7FmJ~d8R&L~9M}dOj%CbUo}#8q z6YE4niJjw%Cn!CU-l4a(I-ipK{gS79jEUtmY{78|tSx&~Yx)XZBMk5fhPU%HI3M8U z2KyvK4=jU_b^j>yF3`_iI?Uj{Iv*AWch-4~5)z;{=i9J}AMoz~l-jd^>YtZAK-Ec2 z3{+D?>2u!s^G;6|`Rc-lGPq0seD#kf4NW~?U5M7a`z`qvr8NHHdgbZ4!_ss-o1)nf z;qf8!)fh57JQg_<1`Ihvk*yR7tMBS5$ASMrCUT?+C@v;BI3v{ zsy0Pin~Bx=jQ$>_JGVAcb(rPu4`wj1bo>Vq+L4eV zs$msTC+S+ki0n0Z-c~`pBQF@59jb?tsOMa{(mOwofi-*f8%F!)=QFqhxjg5vCwn+Q zm!c(Wem?O*HUo^_;$zjklZ2N#+<-@Ga0|dA4fw|b?!o*#Nifa)Jcd+c_88tf#l z#u791*r_lWG_y#w*nqO;h2f)`E@G=4Oq#QB4E)b~j3OZeGFx;xDQ+!^gLkWG( zaJbtfb9%7Or^Ng1sq>gabH7=s)%wL`C14ofcMbS;4bBJnDUwM8L%}p^ zjfh(Fg_-L#`LN_K(|I+8&F6gjoO}wy^W! z(Ou{&t-Z%UHMLhMGGxz7Vs0^M%Y83sDEdNgx#nm@ycS&r-Y(0vo4Zywh@ zJpZ^igS+(4$LG5=g*47T(3*EXuD2+q@nl@p$!myD%6$IeLtpQrql9bP zH&$Obnl07L_AQyv0SicX-swYcbA>MQr!jw>GoFL53QqPo&NV^FmQ$MU!Nz@qRnxc;h=ge>Q4D;RlBwR zZxja>bDqDCST#X~33pM})j`WuhkApI2E`}!2kD*2UbGdm)E^n{=H~mzHo9aR>?TN= z)Wjff6PZqE{xMoO_3kTt`B!fMG}~&(YEnYBnKX`?7sZBTqVLlfl z)MrScoC~><(Q78|ju; zQ{iGLyI*?cmAW!XheNDsuM??O$|arUs!%&uJ)Y6fHV!{^WlRD@(z+EOwz8N~L?T;7 zj#WgBQ<1%?V|L3BKk5&~g&(5-HN`3ZlbU~9S5ba)tOYN@%6PsP+m!Tf*{yvk@9ypF z%~fb>cD~1!9QJnb9)V!) zANk@o#lFAQ;4r{HH{feDI3M6Y7>26^Y#0Wuu7k?uf^4g}l&wJDxB97WBrGf*pz|sW z+s$qb`%~o5Az%Sma`=)o3GmhtO72pC7aLBW*5ERL=NRz)0yYAGmi3+)xq**heHbjh z^QuiQIgZya*7;IleXh+Cim48<0aL~Xrrea0Wj3aKkj z(WDxrWM3occwLf|k}FKfzBcV*O*A1CZesMVuaKSWA$GHbA@ChX)( z>8_qCVF6}&fFS{H8pmP_I~N%`Wm5Vamuj&}1^AE$SRlYVZ91bg9qSaX#;#@A%y~9k z8_vl#wRiDy2}@Tiy-F4{+OB1F*$YgU1 zX&Fy@jy+qS9dl=f@YPE{k^3R7w}qx8P0ld~``2dyi&7eYnfFVtKTNt*hY;0dtkjN; z4p=~X?ra}AP5KHQGY3D~E2vRE^tw#wF7-Y>^yLOU?TCuH~bnZv)FL!+M4s63lbR$A;qFp2;1ZRO!wVj z3Om#GD;q%EdAXk5gSp?2g^hQ=(tn=#XRgoz>vyicA9eqU^Tgl$MvtD`4wY#G*S`|E z*BEfE2Dbowg#phKa1Zt?Zxl?ku{MU(ZuTn=)#Q^hhWFR`2FdTL^C>j{#T}a2k4GzJ zI{<#efLjI3G3Ii^>uP~^zhBv=s*^=w-jHxuN0-;QP4WbKvCgN2)48S<#0T{vWC+|9 z814?!HNpTNZ`j*cgYyBt$6yaI^m=%XIK`#I3~oF`=_o7=KCScc{WSAD%=z>^%il6w zPnD`)uJr&_=UgBZWykddOzqdh>Sxsf)RCT!z*B7j{yRg^59qewQ* zqY~%?2CBW!3wS%w+OxEld*1nrC$1)E{k~+ExrJB*^APXZ{CME6GPp-Ceaw%D#1u_Q znw%dE@z0N`+gwWN{?%--*fZGAl)%~pS`!|RGDv2hCr7p4}FD8-9>k)U+F_9hbhc#ZRQ~f?U_freB6EQ zYEnWGac?V=@a5piS}Rhy#jC*bt{miOr3*q{7`YZk_Y6~2G}aG8&VX@-TZ ziQAP-5GKQ!qJK*ETy4H{AMcc`bpTQg*0cFg+BLr>oq0%BF{C>GNUg-9G^AfH=uGl&4?jFVqrD&-?4RU!CaKSI| z$gX_ua5cRo;Weil@Kg<^c;Q3?K0?4fh!>o`YP7>lyH8y&Qp-EhhZsKgTnx4 z8}RoBD>*4h*xj)DzJP^Q5bAm>Do5xVwX%~n2ZQ%$@?l}_*E+AJ*6TQ*9xE(nxSoeq zpPcOhs*WiUiV`cl_D655kngEM28vi=4-Zgjt*=eyCPl`G;T%L-((EW%Uhn{wK#ws{ z#R?^$)9v|YTLA9-A&*mt;XsayiE{G)WoUXHbHvNa8BAU zy@^Io6Y8{7v#R!^bXI+5!V{~l9F!g%4Xh1#sd^jnQ>DK0MSy2zq`HONl&DpIifD=3 zkOnPF2hHXdLd+J>_?xQ5_`%-`>JTP5L6B87gG`>k7o#ri8>rZTS`tef9_YAJ-E-nj1eJ!oJshsRy7<`-wZI;=um;S$!|) zSiIa}e>&rFuCKnT;+Pp=h0w_KRh3hhqiuZul@jo`{k1fM*QP{ZP5^xoXTIL=1?_XJ z{*Ddr3ph8N&1UTBjo_7YSob^PZ88H`nqF6%gTI#gOOeg2elAJ>wop>k&k1z6q>OmwZwqPAXaUvR-xk^%Ec(AKRDv!M z^*09aqz>j_|M(h{vj4qR4=@62ebYYL=3)QRL4fN+J$(OoQrfqL9%3r0A6!bm5lWf* zVaiR!Pwq98K*m0C?uQ2AGOiDAoaaVRKae_MISqujXTYJ%JpgD$rz z!JM{z=D27l|IDGrJq0G@*NxC%9~n|6KD<zJ^VUKr>~~((P1LQ zO%^?g^;Fno%YpR*`D)?t2AZe@h(*1TQk^4Xa%Eq{aZ1q z-|jX%*Fh|+wBF9@h|bhq;g-UMuIJoVKE~AQMGy_rjs+701;>j(3ZTu2^p7!}|6{T{ zS$c`9|HE{$JpLHdreDf>&wPyONDEuJrX?==qZ+-IJDhDU$5W$>M%7Vnjku{%PbR`O zHV$?`#=M^3eV*qVGHkv-3R)1 znHFmEo-(}ol;%AHenW#>;0#_f;PnDFS0x&-Ly+w1{q=T1ruAIr`#@LgMv|i73w54+ z99+-2I-dd)lMNFSHMj%dQ3ialfO+p_lY#CkP{T1ub$K7?Fh#*)I6~&i<_CT@?4fi; zy@32vI-ipKDxJs1N$#yzX%+umgTnyV81Tg!oDc9VhT#eU8-_uv>rI$tf^4f;CR2SM z=m6bFSXkUm=R=a;&Th?nAE@<8Ex_|XQgWAq(@%{64{LB4z+V{fodPxj6hHt}-0F9y zQ!XjiY^BbZ3Y%p*Um*EXyAAJMpuG*-d#Fk>=o7hP42xO1M9p?bnv(Z-XHgCFl^N~= zskMRcI@4eeO_t&=A*MqHGMQTxNMGl;%5E?19?;ZU-37;MQXCp!f6qucT9+irQ6+LO zG$ni3w72yh&~YBJEY8M3Vg@=cfjH|m$n}yd8I*nx=vNHaTWLw@$7LR%8ukl?sCfEb zH!Dwx&!>_CPxjPM1F_HpRHN}=o6N)5HuIbU?&ztaM#opXk%XE@HALQFpmOgE4V^OK zXPu{tGS_=OzyiU%&8BmZreoa$y2!3&%~UgNxHg>QY-<0&R-XSJ&@j7})n&OJxZ7{v z?aI9?TEB+(2Hkr=Y5O&pEw^mP_I3xYBxJAAy_4X@x4&0@Om&9s9smAiiAz&RWBuCC zzkeC9D0$oC3q1woxqW+p*DD$I{$-`Y@w@;DSU`I0Y#;g(gRVZ&F!9EuCxnN>HskQtMbZBUN?eYq~`ri4i(Q zoyK6(&cl`i!@2nq9#-c543@)Nzdv(6S0Jb49CJPD{uB3S&b~}r-}Ifu-Ew4BY`{et z+yZAm!GMPgxCiH9CkduGxG8|B5p#cL^G>E!_P6ipe1nXMmnDyOFk6u!plS-7+;yqu z`%Yb>1K>Xya6-Two~<;{#fDs__wiR=&i&+@Y40VPO^DQ>X)Eo$$3QjvRVgy& zd~Cg^ijw6%4^RnoyG>^p=yZENMne#aFQ+}qp3g5IT#&)NdHo^2f9TQ_(s=(5t5SM*ZYLiX!pSr_y$p%jH^y2gJOP!w9wmmb^uVMfaS=wf>dh~D9m z{||!#4fFmE{^POO)JSoR{(G{bdMMO+A3K@6c8X7p0G5;wdppUaX+TUZ0H^`Q8r+}2 ziKzfd?V+^iiCRSIA1DhxP_&|^BWr0gIuY*M3^yvSs zTkX`Hz=ZJJ;NC5`wRuD)k$s?VwTum_y$@DaiSkg)L% zn~Qjq*)+x#H3qLFQ5cxuyGM9zr1p-b;~N~fFhlAnj|3`dbXTMDe-)a~zrV8s&uX#W ziX1bi$bCx;c1sTY;#D>EKjGbE$kh}zX0=W1M4t#ZjU*Qy?bG%H6t>o8i^4&q?V=NX z@f=&W7hW}bt3kIv;F+SBdA(bd!Xw5PH%>(y$w-$uzM?U1tqxyNL>1{sdm8fOu_Bg5 zu|3V!_Jprs!B9%5UHn#CY*19G*`Oke4K5-!$RoVAgaezR6{^vq^@k~{~HbIDx|J~sJ3=aZ_D{giRo=iY=(>wj*|#oA&tldy%reW zY|HS}jG4AR*@F7c=1TU9W_@xb6zKULNmVvlvEC_tmMe6SC%bmO_S})?;Gj-|( zQ=Xslh)3f>6G`eGxwQA_0-{S({)2sa;L<#Uml_SYUV~cz{*?j81Z=(x$@5oN+sCg7 zGVg72+v*B~S*jeX8-XDaFXMC`RzmrMbRLd7cYDJ`9}VsR`17A>Nj}UL7vuo?XM_BT zKn=$r)#di_H;MwBSgm5XkyOaj7Wnz4lqdA-q;Z{33BMQFZDFlKegz5-fuUl<=25y* z*dx?WG&mpNlMVJDn`GLxf3oZoqh#U!cQZ>}a;(Z!AJxraVYNl)Ly}KQUde5~g zuCLS@j_XRL0H0=fjB0Qhz>gU488%6<4qDxABj4(hVz!6se5tUxyUrI#zQ5fDG|r=v zKe(T}VZLVj#oi)&Z8Z;o+%t?ot8_`7luR@w^-^NYrn1M|$gg{7vJ^8kh#6o|sRHTU zzyi*ve*!g+;d)7z6sdRi0M%gmzL%IkAFm~_wMOBAw%j+lP?PBpGS7H`%7!1b$sDD~ znC0TFo+`?gmU@87pyu0jzQ0V^F`w{1!Ba(b?%^Jw>fr-yIuB?%)~0J;yOwk@Yxtuq z(uWqgQbc~0fhsDU4Qdp8lAH8Yl8;7scozSn?WMZiw<#k3ds&>K+XM#0LSF{nytOE!DYc|2;l52h=_i3n$G7?&VE7j<_;Y=s_(v0GZbC5 zAm(d9e72e@E=#X?hOVeXF=3n{-etroa~)DI{tQH6O;Lwh;xrdI=|VV*#+EFU*i8B-Fgsr zHqTK--A_E<{~7{-gV~%c-+WyjOxqf;Jd(TV@jx3aFm? zmQ5c@Tp+((mNlk6CPY9%$upnCxwfXbiP6I zlXO0X=Jz$t57yugfO8DEuYfVLC34ppXva4!neYlaUB-C3sp_;)C02Rl>1lG6P%#1C zT{@o;Kqc!mp(xuT?_;aXo~6fmYII1O`+Ir=r3>aPG`#vy1p#WwaKOPAVvx%*7MJs|=CWv(cnn_{>&2m@3N%JJZ6Iaq% z-R9jTmkIaXEhL^Zh^2@9O*Ts}|s~NArEE3QKtD}8cg&3 zU<2M&z&zi-Y@h*wc0b=ApsHt_@1Oci=||1At8_jkoZrRy^!feujMY z^Zl2y-Dg(i$9ifg9uD;Y6(f7wWEwz*)~(9}Tc7U-y~FeUh+_RLV05yx*LRrPV|crEzk2-UxwP z;1%q}x>@5S`3z}0QjM9?MT%}#u=StFNYxPnGpAOtjl^KLA)MeN$K9yNiM+I{ zpF#+rxsx+3`()`uEGj!&;HfW7M$Flk%~zNe*A*e+M@HwJh7i^^)F{vIk=o>v9eCo8 z1P@HM?+#^0{{BHtDl5_-_y0dmehM&_nbVRqS3LP?@XYmCchcI9P7!b}HvfB!8jxGZ zM~xYS4TK%u^CWYYl)Zwxx5;_rU~q|(g5U#8hTdnXCC2ISz#zRsNOanp$UXRUJhIQ; z|6}Eo8USuI;Glr1exd|5rZ$*^y<*k_FZP(i=N~Bw^+NF-&ht2GgCAigM7k_5KSv8c zNi=-hX_}v#H8q+njxhXOCSc(QHKw*0ejd>hv`G6iH3jrHtwK){eyAhcXORKY>XJ(i z;}Y#x75n>1b#bBhpGOm-we;G~Q$@A#>4#$Vycc>oRq-Fnc>B+H9#{a@Y@Y#*@w;al zW*z!97bPKv^sBPJaYf1Cl>}wwnh^}vRy##MA+RDI%DH`dT1d0-4GB5caBW30E2*t| zGnsEk`{0aL4MRqNH4Tw2SqWdo!y`BR%y6sWQ`eF0zW`Ld=VBfFVH6~@+73dPL(vhP z1Lk~*UiU>_&%EwNM(ZsaYdnV<`X5$ZK`MmQ#8F@w1PrAf@yDn{{pBb&6vm^ z`1f}jVMETYQ`uV0{thBfZ@lOKe%FU5Q3Z+woTp~9+2);o=2_TH;`!8nzPFx?%-!!P z^c!hy}(Zy#8aum z{l{Y?3?=4pwU99TK7ZBult}O!(*!t<2*)9?wrHx>bfvBl26&SJpQ^$60KaR%6AZny zBR#cb_1&0^xpbJ}fjS=+2C*)o4xzI~F8{=#eERLfR~fDytm>b&9-!)^dl;xrN{*0y zN)x!=;Hg38if+Ed15}!uZIk)3f`eq_q61jKGMGf+qd__esn^n zh}DCS_;{X=N8Q@z_$nAPpRGCils!3dq`9uo(>PkPYc&KCtbWBGLoX{$=ZNRSO!uv5 zd@6tXFOQ#(K7bid={ZC8&_t}&&d`jdq6XZjq8VTtTmbMZ3HkCQvqVJsfgRHdpiX5c#z_C1`nD}ZmY}<2w=8vxu zT!AJm=Um#0bNACS-Je=dLnS@FsxHwZ=)yPEw41~{bFKl;&|u8Sxn%}iEZ`o*SHBTV zK2Ix4i?4RkKjjwhs)|w9K8ewpJjRAl4hUx%{uWAkW zEdh(BLtq)TrXuE;J|r)5d^J>)2NK0H_iDOf$={*#A<19Q`Skee0*3qItC=34>ZId^ zqO59P#~vC@O!^#hq^CxQv^m%VRGRB&letBaG4a(0uakN-J4%+9JU}H-l7TARJD#`n zJYP!n#48+3H90Gu07C{JdL7jVni^L$D0o8>Zx&=b zKSyO|q$$-KcIQl?yv4XWa?8k15Bcl2E&Scr+sof)MHYXFU7iTwCo*((B-TRQ{*Fr1 zxlLc6Ll3AhwH10#L0lS5PAly@#+oDXD(oA5`p_UycJ7p|ib(Co=>Cz|*Yy9q+>wiY zD{Lz^1BvoKW0WmKVb@co=hULzJ)ZQgPmKP_MsROzQWyPg^_RAd7kBN!croXv}E)^Kn`RChA`f41JuCJ)tqPFyPf=^$CjKcbQ@05Q= zU+eMeg5PIk9#4?}zAT^osBGK!LdqMlO^C z4k+{ZfKtXaqv=N)Zx}L}{`Kjq{4V*~zN>N}pOL;E zAKRdR(Vm(w$QP2*<0P^7$MCQE$B)qCa$o;vYM*E`JtGfzs!76EH#xgNe9Np1lcxRd z`0uV<+12|}<=6Na_fLw}H@X3)hVu3i@s)UVm5GblgT-S>IqfEePl~$KoJov1iEHg*$NeXk^>_pq&*^@fdw|igoPOZ$Uqv%h^=aWYe^zx2>bJ z{sTW-z60Y(liQkzwMPdApfC#HFfn!~CJQUcYty6WI#U$W(6Gx9tB&JZ*WVmp*ixv_^-IU)|sFf4)9=9HcL4iBo(EO}m=% z>IeSon@{Xwul~B`=iQ#llg`hEuK6+TVGj+CIJ7rSX5{-Ze;6nKwWn#1Jf?n{{)#^8 zq5i2cJ)IO}sN`=iUB1ImYb*MG8gD?k#a-xI$-kzH}xTb#C$kv-@>s;V(J#^YinTL zAvE0BmO4c7Z|bXK7Yd5g2-IgFkXe4Q?|l4ED9{+YRCKk95f4PX1kT{CX_wt!pLixM zFQvA$LC{IhrVxtArp0d&SPI7IZm3RsYf)5Y}_@<(6SxnN?KHG!P`h53vT4d?i z&}wqF^Ux!*W`rEBdzPl5Ydi?c+t?fKv&SojaqaK=i&AUDI95+SFOJ8?q`aV`{s)JRDgOB3B#asTE zZp9{XAQ7~_hZ1&4xqip(Hjco4MsRQ)Zm%{y!B0b*&twwMrhiWAwtrHgT7q$MdQ z_yGw)*TaxmEg6~b;`p2yT6l~md)lpy<5%80tKgEbauf%}RmE9854;`ZrBpCa-m0d+De&`?XMO1~f( z7&;X)a0#4lBk2X;25T>p zX$Ks1atWlp&LU)wCmoxlv6ylGhZwpM>Xw^62a8M|!zWQH zOF8s-J3VpT`?#(wnYME`Y&f3u-lxR)#JH(FI1pHcVFckYSiZmuhB9)<++?t1v04yf za+t{`?NFaj=9cJ8Amv;_ZVUZ@<&AZSOIEi+86WOMQKc6@1EPIR60k5D$T;d&xTEgi zfojy@ofwjphu-@X(sPG_S^uC~MeOnTfOgryfaDoezS96hiN}&s_#|pVMj2vkF5!{F zqm1;^rNA`W+HN4lLd2W)1DTpj8Us}$SYIWq=dJ0BY8?Pa*uIaJ_A6R&lC(TfS11Nw zAV7W#`*@TZNJv~A0*kFCb8bdoW@uK%rkzh`GfW48AE#h zxLO#63jeR?kEB)<*)Yb5JAb^FL)}4UNzTwSf6SnrX7(g0XRr52Z)*N{UNU6vQHz5A`@irSvF*M&l1w-k9GT~x-ilcHD{jr<2JGzrtXmg)9|`Qzw!QPJET*_)?_Q3T^I?PC7eNmu&8^T!e}ufr%0e`Co&YOLp z`f)}1(ZkRI`Q%6T$|jRr_prG6sW|2>dV}E2Z)n|xC(BDdze{y?VwT;GuU)9agJngX zOE=bm))=ZYk!hkT5b+Q(hyDCZ>K&c?)?Zg}F2wYBp7yvqds-_x~%h?H8zd7`zXSfl8bwNm~$vmxABQ zItco0a$4y8J+@Aeo1A+&)}Xi}>`X;PHr)+`xEP^+`v`j4@5jss5of#{=)(yR5PnBe z_B&sUP(xa*ObtfeziRDo?5}21nYVwWn?r0ixGJK$y^MMV|E=G;qE707RuXCoKk)zc z2LL!cosrnqpjV8)_00D_Iy*7msxRpbM0b=bO->z9+v)lVS6nUBTifqMy%y*{NfnD> zrCbX>K)AY#%uKoz-6~i&zsAFRck~?9Y_)oB9D=a+^EKjla%KFgW|Q+K6S6pMiNv0w zHkWiw?L&;__Pr43;ZGKjw3^$Kf=V`&wPlum(cfynC63@$*;*y7;4-bBH7>Rf zJjSN`uV#~?hq3u5mSQz%(l~PN-T<1`0Q8J!8q2@*;$NHzU$>8CZN~O{UOp&eeI1Vx zKj#Sp*h*w0_4qF;Kh{_7d;b%9MYrK@lCq-dIN6oEr2wnDr4hQvflE-?yh_zMzS^Kq|tvm zV|l)us^1_$_+_yWoU#U=-i6Qjm>;2>wk1NX+W z>w!m82_{;5z#->wpVAb+UE&vK#`oxl^rGos z>{Ci6ee?id_@Q}6-JQA<0Ws=z_zi~Xr~8kz`b)d2Pxmbm4BtJZnkSl)Bzk>4dc6g` zPF|YBfmtLKUrS9or|~nUVRqv9y2amVr5W4cWYK8R_o%gx%X}Z(Pamr;L;t|8=$C)@ zPt$+T4CJJVKSL^aeU%RsI$j=ng zK##1%ZwX>4v3q(S;A`xLIi+X%(dCl+*Z*D7O?z14d45Lz=8a*u9^`_aJtO@5EWAkULjL#k z-=u-LbIv|z#<{~r96EgF+_{0Xj#+fpi52I}Ss1NYFmZ1A!i5zJyAWp3ut_Ic3 zz;W|uR+Lsm7tA@XA{r>IoHs%$R4l5P7Y*kDe$F}J`SZe+^B2yE&RJ9uo;A08-g!d< zTppM?XV$DD!lX*W=uh$d#o=FXW{5nf!r2uzmGt(;vRm=Z0IR)ouEpdmcW3;;b^5jd)R&fJQbL}l*$8RsEA zuVUWbfhkopW>laZ9~csh6z0OjPT(Xhz+7-VH=LJ0G(3NS2ocU3F*Hy}jm?Q(FlkQt zISb0qr|kTB$3cu4=W&~8YatqAMnHR1fHhLFAYCWYs%m@`t45T>e=SumDxX_bfn9t4 z;lfb|hmE3{Pn%8RQb>#l%fkqj9~t(uKY1QH2|5#geXjmfx>)kl~gP^ry>nX_5GMsJwFrB4`Y&Pm<;u!9yMoP`P_^^vi88p z;UmTj&mTTAf8>b#kt0VBM=~aGVo`BX;glkOt>QUnFDPGdL10nEjOhFYhaGlS$yqZi zW|ddXjh@D+*E-%4oT0Cs=p@)PQRLzUdIUfTQ!=-9L#bMa-z)#`KnG0x` z>{l6{UA{0pZ+>{r`Q_(S3|k0!sE5PhljkgmR+Y~^p{ioR1zZ_+KMP}IznS5)FNjtw z43|g4<%WuG*VHRrFh2@fy5{0J(b*XLGb_UROZI~T!r`g&&YL%XF+9k^imI9O!wV`f zip#0(a3!kFpD}-Kcu~ayGB-3iT)5tPy|d>;!wctJSYhL9zJ^!MERUA!9OmO8?lV1w zL*Dth+BbjBoa8H?=*@TR>&*uO-u`&;0dM&(zV?>g>MgJK|NhHjm|d{tiE1^=bp)UWKOysn$_ z2320B1?zjcR;zg|9A((2KY zR;v6Ul{Tt0rPg)z8&y4(Z&3L%m7lHBYL%`~=`xiTD0=xSovqR>syv|b%TyXtX@@Fb zqVn}B4HpVO9R-r6MoHSBM!bOiore8 z&wrZ#Nh!TF=v2uuMy1=TpZXuDpZ_%f)A2j$*Q81texQDmNV|Y4tiu^Oc-E9bW}{fBAW-zpeh~ zKTSWSFN+*umDVYJb^J}>bxO|e^mFvYiHC*rmW(;{tV0hOMu)sha5OY~*n)~h`3Hw5 zRLz+i#VJr2r%XqmGVBzbGU3eTTpafd4IeUm?C?>6z&~Ao^zcK5=l>h)|4{z_SO16g z|Nr#&|8M>M(DDE8wjag6-bcsFErI(V%nB6b;a5G^@9#dRtmp6nF1*@;C#~l)>p5W2 zOj&i4)^maN9I&1XEIMI}PML*MZ#`G5=er?GnZnmH{xAIx)Bs-3EWvM}GAmGuG>%tl z`{B6`=_`11c~3m2kp2X3l^=}fe58ls_Ygc6AiWL0hvT^(>F@Cy!E*!Bhw)pAXG%Z7 z?=(D9`XhXwX(pa2JqEv(c&7A1{9cS_O8>k^Ag~P2l)i)ClYW-PX(yhiRwP zJX3lqexrCU{c#}hC4Se&F`D)Y1a`;oGk6Xoor>QV@mz*qQ; zmg2bp>Erml5zk4aXW`adJ)X<{Kla`SE~+a1A3rn9@JGo;BbUl*Dl4}9Ga?$5)gYjl zC=*~&xy>M;P>2&?;pVnfmQ+@3xkdj+L`6U#vzF3oa;>PWWm_w^tk^Q6vZB_C%Ifz% zbMJFzhI^P(yZimTKKuD~Up_vE=f0o!dCqhG+&g#f+zWli1jd><2Ko|6C$~daLbjk> z3%vunyc1s)x;4P`I%!;o&2{m|b*cA?C0eswEk56bn>-H<+%d!SFmeSQZ}c0j+) z@AVnf-P%-9S_0?IDv^C5{GgLA&$PXSjo;(=ZdNm+_91O4l1s26qz^lgxF zDAz+j;lx-%*$@2*#Ex=5^xUPFA5!f**Q4q#5N-=o99kNhmv@ zZ-aQ3fgidj7x_e)>+d1OD6>4Y5i)QS@X$*j`%(5n-#icfi&w+eLq7^}qU?wM@B*|2 z<$ma#0*r~P(01th-!RsIGS^Q)N>TPhzYpmKXFv4BOVAg*F6cAei05kL5PBh`6J;;- zQy%m+%6{l$3z27(?a*fwqh5}OUJS8tJoFzSwczwYzXPd8xfl8wJYG5jG4w!x1(}aB zTZDOr2Yb6v_CP-c@grA$=$9|UJVdz%`g_P0lvz3Q1L@^4Lob2sLfH%bS_Q_;?@$+X z^b+I{WgGPBN{kSYtwPxbz4|Kj z8ODqc`dLUH%019=zeBw!+n|>~vQhRzUt5d5M!6pP35XMAKlJ>oE3E?u32|l8tgNwDm^x9gi702hxPH z3;NNUu`XSK7@+q-Tvs9n=*~MC+YLL{!|q~?p=^U*azDm1%3kREAqNn@5BeEM0b=ff zKJ)?9i?R*+um`bLR3d)p8Ib!>c0teeVJz}8bO(f?+zI{iTJWRX1N}YZ0M=60g#Lwe z@ti;}fwZCQgX zqwIuU3F$$(9{NehHjalL-Hf)>qAk#+EjS+4AO`4vv|$dS+z*|z3Hy*k7xcxDRMzI(+@kD)zW6bW z8O{&=5X6bHANqYr5_tNd^BzZ>D0`qYw&9qF^~44J){~fHDEC62^Ay?+UnlhJr;#^~ zfnEdYfxQ#@Rfr8dz0m2~F)vVdK|izua}#;?LtpVM<|fLu(0}g6xI(!HdgAjqE~D&# zJ`=JBWhZp@PR2YayP%(eI5-~qONbBr>?QOCWHrk5(EI)ZpWmZh&`GagyrJxXz75ii zb*3KrUPvkIKIpbru};F?34PdW=tq?8(3y}@KK`Mffy_s_2l`t`J^Grxj`0KOyB_?| zXF^u3K+MpKAos!Ug?<>)jj|v5MaXKDd!XNhqyXOw9kUyAiqAXfLP!H1m*s`t3)zWs zKlHEu4*ojC2AvM6U5VJB?}L=W?t@Nv1ATo1Fwiq0W5Dl%zJuFQuMfHvG9Tqm=&g|6 z>ku3Cn~)~d)eHS8Bn$EMLw^UcfuFs}*wK*GYrzlggd|~{bA2^r49d08w?XdX^8)%o zNE6CF=nhC5%AL?pLAIdmhu#HAKwEmD4?vu#m+gTKVn;l7=oCmS&n@)DkX?w!16={B z=edHu8sbE3wa|ZnI1rBydNU*i{C?HnTBIljZZ$oS-_d?(KHpU)u>w|t4(s>Q~9r`QCe8j-s z!MX~m2i_0;HKZA3*2~yQkbKnZfZhk$fq43%NB;w39^=*yJp+;rP8akFNCAB7q1zzK zQEw;oPDm2!>Ve+R%dq!D$G?jlqHKd62l0X50ev>46M1k#&xJ6=;DWvkQp58MeKVv1 zn0n}MASt}R-ear`QqD2Z8zHs8bV5G`@gW93^j{!ZJRazGAbp6T7y2N?f*9Cd#!iRS z!R~~f3mFT$3%UtnL%9=rFQk~a1$yH97<(u?ptB)fo)hRBAt|ueLq7ny4|X5)Q;_8- z`=Jx|p)Qo|(D{)2kVF37&buLdQ1(H$Lpo9Jgx(A3K@9!S6FuZ-z8r4EUixfb2jX`k}{sjQIk)9r{d2KKF(G9V8L_wa}X(Hss$Ay&rOr z_ZRf={iq8u+n`T@*noFH&wymX?t=b3#EH6Up>Kx7@;pEv{Rze}VzWb^2N{DHJkWoD zEC-Jd`c+6X%DvE|KSf`lY=`zh3c%0xLl8fB{Ls;#q5seqHt5Na0+gN5%OJ%(2I$8i z4CCAn9o>&{&hgNbAvGKiT?gqzp6j7|AUjaz`fErkFzj=DeuVgt2N(4HkZQ!^gMJ0l zgMROY{t>bVW%dQmnIVZd-r1qgfsEzHMCeN)HgI~O?}S)T_CfbS`uVXB`t*OId=2o> zv%kc70?IDvmmzzA>4E+XvW4TJQ@_G-3S}p>2hxW!*S!!wV&?k50AfHs**6&fkUGTg zfL;b+;ID zKXf1DAo{u=`otfwexdIi(90lMu-8J*`w?RuaeAOF%*4iG%-Eohf%KwmhrZf`c7wAP zx&<|pAiH6&hkg&zgmORh4-gmH#VjUv6r_vC41Fe~6BsA-#gLsS zd!Vm^)FFmi=tm$c_;`l?64C@;W;L-q$PSb}&<{hl!PgJ{C8U~TqD^cHWY6{Bhh7S? ztpF$VBamv2hyD^$3pp>Kff0Z%>jR>)3Z{LsUP;aUrLY|s}& z4gl|gu7K16?}gq7i3O$;`a?(`F#XU!K#FS-+i(*b0qMLEJkZBLx=^-5Pk>|q&~qW%P~WHoOu^mmYP zu(Nm*I~n4H-2r_uqzU=)K(BN zVtthL?{Vz0C~l3iejUdKc=0xib@edzm<7cii*@rb_AM{|!D{Up#=mo^(_!o& zFWwPtT{WCN5sl)mXlu)G_5&~eF~-_GoNedNOxqJ<-8Y=AibZjKtaW8P+Y|dzR7fs{ zXzNeT8|6}^e@Z<=V2-dwUvGPS09rh`+rIuKNs`wHI)jW5tQReroY&qN1OnKwnVa&tp8yW3>GE}DJL+goQgABbiTn9c7*vlq-NYKOfJYh%;}AXSMOA;dO=8`)|*sH~3t7CNP&eE$n@spMxgz8Y{cqY+hw$ zTg~PH3%iFm;h`w=hgQ}dW!`0F-$a?8!l?Mkb15w5VOA^F_^2p{*%Pwv#vh7#pKP7R z=7h}uQ^Rw4i%IKLe;hisHI8@copGX5R}SNy`b8Y?)VJf<8Xk04l=&~iuo{~m#|j%| zUN?-r%RBWOi}|kMtlnzAb~xK%HGeXU-Oan>;b`;w!`VyG=9h-El`-Z=hO_tiqWfcv z`QdnWcdYr|c=lSX`MP-a_c#n#=@>X7Fb1ZC$34HFFYfP0o4-4Z4MZQk?=ZG4#)wx;&b%>!eHC}~>IC-qFel3UhjVni`OO425O4o;0^5Fw6XhRAzz7J{7`p$9INMPZizPEG>q+t z=6!_&+#C2mrWJOK^PjM`gpH-2G5!w=?-Pf%9^M;;_3(x$z8-#VX0P)$erhtm8^u2^&VpKkkO`E+|dR!q0&(f3yKmN?dJH9r`~?&ss+ zPtoSPhOxg!n}3XBH^-Pi!2hxOI0%hDu(rzQRV}CaGTPielGVi=efLPVGscPX2Yg<= z6=&WvlJ&IY=Kg5ahRz9y@9bxv5V&9A~H;-c5 zNB*bgmHhnWHNNIP9awYQf@|*mfi<@-u;w1H;A1ADS|4S8-^!kdGWS^72T|s&R`%Jy zw&wnfdGfz;4Cw2^^uc5MUtJ6SNBSk+YK<>7vslHs;SvA-@vxg84<8O34<85~4{r+` z55El@5BCL+hpz{YhuZ_k!%e~C;e&zW;Z4K&1pRWDn4q5w=M(hR;q0~;^Ap3_C;WK0 zGS<8`o~?;BuZ?GK$C_`BXaA5K4^2O{{Xb)D%KPnIKA&C+%%`s4=YfrZ&jYIip9gA# zp9ek+_iW!G5D&so`b#`*L=5cmJ&xj21xmVI`S*$5vtw?fuqPT4GzEIoGEoXw13B&nKbtKdc<;M{WIAa;EYLtw$Cg?I#_|7iv?*7@AA@`9ZhH-E^;bnZ0@*u+x zQBR~}pS}hJjxpLf!QrMu&as|vDjQaX?`p+qfNcE;vr#(+$3S*fytJQm2+t7L7J_pt z1REApvep+v`OmP+<9H*}xQXXwLU>|xib|6}>#-{IxrJ3RjV+;rYgx{i)w z(fsV)qaBn2-{)0^e4oeX%`3s<;gEj(xX6X`@fpDR`1gg4gT5~u8D|~2`H-k#jyO-O zH^y)6iR#t98`R?&{Cy&in}7EhYh}T2puintVKK>pE7D%^{Ul*27Oq2ap=~AXQ2Rr% zgX<3E*T*zW|EIV1Cs!8o22R6;Hr~&;s1T4O{Oy3GLilen_-`{VKzR`a*&pIjr-26v zFDj{aYY(b(msKoW!YcKL3cHJzR8-@cbyXnvW&2-{fmNNnFSTv=v$!{73+`Rm9JK9+ zZPz2Xk0Qk8c@Fo8z;+$*wTJ9T|f*JB^k{IYdjt?M3LAJp~O$2FWw*Q<5CTi2;uwf$aQx9NJ1t`oOu z`}1|ZTGu;uZFxf5pQYu?a}peT{q}@o349x&7RWyl639Tb&all zy56O0=GW`db*Zi!blt7%y}A~C^R(tie<$dFkJELAt_yTsq3ad8Uajk9T|chtUAo?@ zYuqpvs3K9<$-2(c^?Y4lq3fG;-K^_QUGLEKE4uzv*X+;X?Xc;8AEWDWx;{hKGju&y z*9E#>pzBL@U9Icoy1qfz^}4=C*G;-^*L9b!x9fVRt|`yE^}qXd9lJw|->z%IrRsm@ z>)Na9Rl4@;x>wii8I31H*X6oy&~=lp+jQ;M^)6lS)%Ad`DUM&}t(Mnc=B<{8U*@fr zhyU&K_92t|B6|MqX<2!Ag+Rrk^huen*+sbdLcT9|cAg_}o$M*e{)|bPSMW7qSIEBL zb9E;<$^vf}D94l6GmDFXdsU4K@a>i3CKZ?9Y;s}QB0Q}=Q1Sai;BYc}Zeh`q1!aX5 znXclzNpAe(aqb%eUpa`kZwOpfNp(J+n2(obcr$r>J{k(Qr2LAKyk)>G4#fGf9G8rz zaWt0fLr3_*va0?678wefv&m&_izWtNl1TADPK}pj5kG8R-ez` zNKqAN+xK$pRJ3hYg?A~Sm1Tts%1fl}D|Wef9<63+eW!sVXKD3MBZ(fGBaq`ccmqS( zzme#}<@~A0b6(-X68_-n47^CdRb83sqHfD9W9%ro-|0M;u0p&)qy(>C(eoKT1n~Qe zA$+UK7B4NwTRUV7*I` zVoncRl&4BD>B+p3)1~_|0{b4~`)2D8yALdSlX%;LPicq$?obRZm8TWqx%h=RB4~%I zcVw7yzPxG&vUfxGhb(T6vZ|Z~RZGe-WCQuwI|ObLg34d!EeQ-{#Pq=sxa6`b5qmlq z`+frMJm5YW0+)h%15+UlFKMc-nm(ndre>0U{QYDopR%gV8ZQR_VqAeKEDyBn(;=`^ zu-ImlELgf|4&MHP7rqRdq&OJiCs;%I78RBk&0Wd|Y#xq{Rs3lG^$^(8Lh_PVwg@9I z5EdKwDfr+amBmN7FUmik&St{jj&R6O`|xIj5zIZW;>xm$V!ZdNYU$zsm86~{q z(<|{dB(w!{DDaMlZ&)TSUR4e@vzJXXF*27{RwAu3wiL%FmBP#D)_3O zRy6~!x#A_Zp6|&oE4nOw3Et_0-!+4q1k#ev59chJThj}@)i@c$SxI$CO*K1&+p?D|xooMIz(^oo zhQt#19{t5ZTKXAVYso9Ao>x&CXmN37O;L%LXC1BLwRT$a%1cVT>`6<0;247CoKnr6 zvE-Lmp~->umAzsak_5NF>XpKmzjX-bKx7Ft7r&8ZZa3b9h8JtplvU#)AZ~Zrk_GOC zXe*v8!rX<6s}{KfyV$uVT-q$FMsSPqixfA1w-_rjyLHc$DEHEefX!klT!14TOSE7p z!Ghl&S{7E8V5H5qEW8p!45i;%7VG=2wJa`KT*RM*aUCx$UUEeV?%_oVvmC$fvs4A< z2=4K3ZRFzcXo&YeOt;{-!n&=pB#>ja9e)=ut0-JtRs>8{ zpueAmZBb2)8;66cCH%Nwz08dVH#&HI_z~xSy=Y%P6yYo}@O=bJK$`;ZIxKQm@rI6{ zq}h{T|9>g7Gjr!=W=~GmYQuLdsP8`|i>t0Es;t(SUEmEBv=v7+eGSkXTMW#38IpR!`*LSb)S>L<9 zZ+-uIwjp+dZG(M7(gw!{=Z35et__|Ir5n5(YB$tvsNdk*(7d5@gMUN!hMo<*8~Qf% zZ(z-_&9-Jd8Nb=l>}<|zb~SsNOPiBg9j&RY&ep6}S8GA5r?s@z+gj6F+gjIJ-`ddX zYi(}rZ0&0Gw|2MowC-;0ZS8CAZyji5ZLw{(w!}7jTT+{&EvwDdR?y~YD{b?()wI>N z)wR{PHMIHKn%g?ty4w70-EBQ>yW4u(`r7*22HM!B*iE)giJR=3k~TRurEYR=%G%`G zRJzH#sb*8{CZ4&5O}sgjZSrsG-qf>c_om)WeVh6>4QyiVvF*0@#CCgoQoEx) zwcXjC)$VF9X!o?2wtL&_+UwgJ+I{WK?Vasi?f&-e_MZ0L?Y-@N?fvZo?W`lV!`6}5 zVed%laCD@0I6JaBTpa}+o{rKEZ%0i>ZAV>4eMfUgXGd3uzoWaOr(<_VZ%1E8f5$)v zbC_5uev8h0u|AtG(P#H1`5eAfpVOD+bNLE<9$%@?>#OnA`s#f3z6PJq*X--`b^CgJ zyM4XBK3~6Yz=t1|tg)?0Tw`C8w8pU}b&YdP)*9EEf;FBsrE9!vYSz@QsasROreTe5 zP4k-0HC=1`Yr5C;tm#|Rzh+*v9!_KSkqYB zSl3wJ*wE-}Y;Npq>}vEkb~pAk?r!XD>}%|Aj9qJ6o4D4#HfgP6ZR%R*+N`y%wFPTE zYfIO9*Ve49U0b)der>~A-`eK2ool<+`qy@^?OD5fZEs+#4yw4in*2@OO+8J!n|ho2n);gtn%KJ7b+&bh z>+I{2);ZQ?Vbm93+?QhH*I?||Ve~g({5N9;bYTv3V;1bjJm|wr7{FYJ#cW8#d`QBK zNY&>=DP}~CJ|`OVS<$7>i{1Ln7|`cNqCPuP_4!et&yYIIj|P2)bm?c_x3PX>!$#l6=8c^jyEpc1+`X}PW8cR9jRPB5 zOKgj+C9%cclGNg8No{eqWVN_j3R*lZr7hl;nwHv@x|aHuh8AB-b4zDSSBt-;yQQb4 zucg0bpoO)@w%S?~TkWk$|H6EZ4VlZSZO(sbJ|~6D<$_I~e`!8re)aI@;^4VLf!T#Z zulBcHpKq}IuinNXI)1+w9w-y|pCxPOb;;UahX3)H0N|g%|2p1)_{H$wl!3<(tlt0H zm)6w(x}Gp$V(7oB%A$#jii*Yuo?bpt`#?QWyWl^uY;x+bzB0(9&2z!8*=*Hf;`Lg~ z_&DMHhU;a;Ww?yaEawAdT44HgI3BK5fW7(i=4QI{(z7x%=4EGw+FWV5`Loip-MN`F z-5Hs#%()qvbJH)xEz3c#yiE5HD04U}&y_tZpEKpLsNf#*ospe3Gf+)lep+@mvjh=y za?USc){wt5=j7yG=${)YW<+H@# zE_7G^1!=j6H8*ocCPoU+%=FB;nKNdkV@$Ing3#=Amp+V+3>wjS8OUVDtQi-wqk?9h ztXXr@GcwcJn4lFsoH;Wy*PSr~9+`m-$YVzb_vg6s-DxxDv15X!wDWUjW$?VaXXNC% z(=sx0*|EXBdD%G^xM!i?@!y=u$-F0+eTdzu?6}|_jTUfsjtk?TbEgN!!|_3k-Yt3g zxyT86;e_BWOsll)Su^Km^0uFkRUv>u4s+Zzit^alAfBfqFD+{ZJ2Bjro}Hh;P71e8 z&u1rxTe4;a(luiif=CMAl^3$>*WtTn%*f5mbg@%{*35!@cdBD@>S^xuoVi#K=H}9dhvy%%Q9&6_Kbj&NlDg|5u(%)C5w1NidTr10H57KeNK zg>F|tPA*Fh?&QNU7eQme<-M54*A^s!O^yJWk()Co07{X9kl6DxbMr7Q^YA#v;QAj} z)x(AxmNE^DPM8`*@{yu-ggX>*niL@jQiHn#Q^J*(HE+grc6!jPbJF7K&Me4GpBGp@ z&Ip3ES&=gRLad^EJ(yL1Y@QjqzaV+a)S zpZDyX;I6dn3(_vkbI-s*3x~Kg05GWW*h`V`d2_MUXY*;9ojI4K1$X3S&6<%viA@h$ zF3RMSwjduzZMRm}+zgf;+>bduCkOe^Cm~;KSVnO7jI_LbJy$Fz30t@r>IkQ-95Tc)}V0>oG3LF5@HGCz@3qrI! z1V#qS51Oef&(o7JFSsi$9uYT!?~JNF zM7yMq{TZSA57qbk^!@)$A7g)s^8+8CZK2m>Yq?Bf#Np*RM_Afxq~Mhm7bGaV<)n3Z8CY{0a_~6cv63=sOq�*ggf3tb4Z!Tvo7__ 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

    L>InjF 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