Browse Source

reorganize files

Claudio Gomes 6 years ago
parent
commit
d25ec30343
41 changed files with 425 additions and 260 deletions
  1. 1 1
      .gitignore
  2. 0 248
      materials/3-BondGraphs/BondGraphs.ipynb
  3. 1 7
      materials/DockerfileTutorials123567
  4. 1 1
      materials/DockerfileTutorials4
  5. 4 2
      materials/README.md
  6. 0 0
      materials/notebooks/1-NewtonsLaws/NewtonsLaws.ipynb
  7. 0 0
      materials/notebooks/1-NewtonsLaws/NewtonsLaws_exercises.ipynb
  8. 0 0
      materials/notebooks/1-NewtonsLaws/resources/mass-spring.png
  9. 0 0
      materials/notebooks/1-NewtonsLaws/resources/mass-spring.svg
  10. 0 0
      materials/notebooks/1-NewtonsLaws/resources/solution.png
  11. 0 0
      materials/notebooks/2-StationaryAction/StationaryAction.ipynb
  12. 0 0
      materials/notebooks/2-StationaryAction/StationaryAction_exercises.ipynb
  13. 221 0
      materials/notebooks/3-BondGraphs/BondGraphs.ipynb
  14. 196 0
      materials/notebooks/3-BondGraphs/BondGraphs_exercises.ipynb
  15. 0 0
      materials/notebooks/3-BondGraphs/resources/mass-spring-damper.png
  16. 0 0
      materials/notebooks/3-BondGraphs/resources/mass-spring-damper.svg
  17. 0 0
      materials/notebooks/3-BondGraphs/resources/mass-spring.png
  18. 0 0
      materials/notebooks/3-BondGraphs/resources/mass-spring.svg
  19. 0 0
      materials/notebooks/4-Modelica/Modelica.ipynb
  20. 0 0
      materials/notebooks/5-CBDModeling/CBDModelling.ipynb
  21. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/__init__.py
  22. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/SimulateTrainControlCBD.py
  23. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/__init__.py
  24. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/circlePlot.py
  25. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/EvenNumbersCBD.py
  26. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/TrainControlCBD.py
  27. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/TrainCostModelBlock.py
  28. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/__init__.py
  29. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/power_window.py
  30. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/CBD.py
  31. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/CBDDraw.py
  32. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/__init__.py
  33. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/naivelog.py
  34. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/plot.py
  35. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/TestCounter.py
  36. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/__init__.py
  37. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testBasicCBD.py
  38. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testFlattenCBD.py
  39. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testHierarchyCBD.py
  40. 0 0
      materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testSortedGraphCBD.py
  41. 1 1
      materials/notes.drawio

+ 1 - 1
.gitignore

@@ -3,4 +3,4 @@
 /*.log
 /*.gz
 *.pyc
-/materials/lib/CBDSimulatorInterpreter/.idea
+/materials/notebooks/lib/CBDSimulatorInterpreter/.idea

File diff suppressed because it is too large
+ 0 - 248
materials/3-BondGraphs/BondGraphs.ipynb


+ 1 - 7
materials/DockerfileTutorials123567

@@ -32,13 +32,7 @@ RUN /opt/conda/bin/conda install -y graphviz python-graphviz
 # Copy local files to the remote notebooks
 RUN mkdir /opt/notebooks
 
-COPY 1-NewtonsLaws /opt/notebooks/1-NewtonsLaws
-COPY 2-StationaryAction /opt/notebooks/2-StationaryAction
-COPY 3-BondGraphs /opt/notebooks/3-BondGraphs
-COPY 5-CBDModeling /opt/notebooks/5-CBDModeling
-COPY 6-CBDCalibration /opt/notebooks/6-CBDCalibration
-COPY 7-CBDControlAndOpt /opt/notebooks/7-CBDControlAndOpt
-COPY lib /opt/notebooks/lib
+COPY notebooks/ /opt/notebooks/
 
 WORKDIR /opt/notebooks/
 

+ 1 - 1
materials/DockerfileTutorials4

@@ -5,7 +5,7 @@ USER root
 # Copy local files to the remote notebooks
 RUN mkdir /opt/notebooks
 
-COPY 4-Modelica /opt/notebooks/4-Modelica
+COPY notebooks/ /opt/notebooks/
 
 WORKDIR /opt/notebooks/
 

+ 4 - 2
materials/README.md

@@ -18,7 +18,9 @@ or
     docker build -f DockerfileTutorials4 -t jupyter .
     ```
 
-This will download all dependencies you need to run the examples. You might need root access.
+This will download all dependencies you need to run the examples. 
+You might need root access.
+It is advised to both docker images before starting the exercises. This will ensure that any problem will be detected and solved early.
 
 4. Note the host's ip address by running: 
    ```
@@ -38,7 +40,7 @@ This will start a container with name `jupyterrun` of the image tagged with `jup
 
 8. Any changes made in the notebooks affect only the files inside the container. To retrieve them, either use the notebook interface to download them to your computer (`File -> Download As -> Notebook`), or detach from the `jupyterrun` container (typing `Ctrl+C` on docker's console), and use the following command on docker's console: 
     ```bash
-    docker cp jupyterrun:/opt/notebooks/tutorial mytutorial
+    docker cp jupyterrun:/opt/notebooks/ mynotebooks
     ```
    Which will copy all files under the `tutorial ` folder to the `mytutorial` folder in the repository.
 

materials/1-NewtonsLaws/NewtonsLaws.ipynb → materials/notebooks/1-NewtonsLaws/NewtonsLaws.ipynb


materials/1-NewtonsLaws/NewtonsLaws_exercises.ipynb → materials/notebooks/1-NewtonsLaws/NewtonsLaws_exercises.ipynb


materials/1-NewtonsLaws/resources/mass-spring.png → materials/notebooks/1-NewtonsLaws/resources/mass-spring.png


materials/1-NewtonsLaws/resources/mass-spring.svg → materials/notebooks/1-NewtonsLaws/resources/mass-spring.svg


materials/1-NewtonsLaws/resources/solution.png → materials/notebooks/1-NewtonsLaws/resources/solution.png


materials/2-StationaryAction/StationaryAction.ipynb → materials/notebooks/2-StationaryAction/StationaryAction.ipynb


materials/2-StationaryAction/StationaryAction_exercises.ipynb → materials/notebooks/2-StationaryAction/StationaryAction_exercises.ipynb


+ 221 - 0
materials/notebooks/3-BondGraphs/BondGraphs.ipynb

@@ -0,0 +1,221 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Bond Graph Modelling\n",
+    "\n",
+    "## Exercise 1: Mass-spring System\n",
+    "\n",
+    "In this exercise, you will build a bond graph model of a Mass-Spring System, illustrated below."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "![MS](resources/mass-spring.png \"MS\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The $x(t)$ denotes the position of the mass over time (in meters), and $v(t) = x'(t)$ its velocity (in meters per second). \n",
+    "$x'(t)$ denotes the time derivative of $x(t)$.\n",
+    "\n",
+    "\n",
+    "The constant $m$ denotes the mass of the mass (in kg).\n",
+    "\n",
+    "Force $f_e(t)$ denotes an external force exerted on the mass.\n",
+    "\n",
+    "The spring, when relaxed, that is, when $x(t)=0$, does not exert any force on the mass. However, when the spring is displaced by $x(t)$ meters, it exerts the force of $cx(t)$ newtons on the mass, where $c$ denotes the spring stiffness constant.\n",
+    "\n",
+    "Complete the following code to construct the bond graph model of the MS system."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "ModuleNotFoundError",
+     "evalue": "No module named 'BondGraphTools'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-1-65591fcf6218>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mBondGraphTools\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mbgt\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'BondGraphTools'"
+     ]
+    }
+   ],
+   "source": [
+    "import BondGraphTools as bgt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Create model\n",
+    "model = bgt.new(name=\"MS\")\n",
+    "\n",
+    "# TODO: Create spring element\n",
+    "spring = None\n",
+    "#>Solution\n",
+    "spring = bgt.new(\"C\", name=\"spring\", value=1.0)\n",
+    "#<\n",
+    "\n",
+    "# TODO: Create mass element\n",
+    "mass = None\n",
+    "#>Solution\n",
+    "mass = bgt.new(\"I\", name=\"mass\", value=1.0)\n",
+    "#<\n",
+    "\n",
+    "# Create force element. Default value is a constant force of 1N.\n",
+    "fe = bgt.new(\"Se\", name=\"fe\", value=1.0)\n",
+    "\n",
+    "# Create law\n",
+    "law = bgt.new(\"1\")\n",
+    "\n",
+    "# Add all elements to the model.\n",
+    "bgt.add(model, spring, mass, fe, law)\n",
+    "\n",
+    "# TODO: Complete the connections. Notice the direction.\n",
+    "bgt.connect(law, spring)\n",
+    "#>Solution\n",
+    "bgt.connect(law, mass)\n",
+    "bgt.connect(fe, law)\n",
+    "#<"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Draw the model. May need to be run more than once to produce effect.\n",
+    "bgt.draw(model)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Run a simulation\n",
+    "timespan = [0, 30]\n",
+    "\n",
+    "# Initial state [position, velocity]\n",
+    "x0 = [0, 0]\n",
+    "\n",
+    "t, x = bgt.simulate(model, timespan=timespan, x0=x0)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Plot results\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "plt.figure(1)\n",
+    "plt.plot(t,x, label=['position', 'velocity'])\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Exercise 2: Add a Damper"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "In this exercise, use Bond Graphs to model a Mass-Spring-Damper system, as illustrated below."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "![MSD](resources/mass-spring-damper.png \"MSD\")\n",
+    "\n",
+    "The dampening constant should be 1."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "\n",
+    "#>Solution\n",
+    "\n",
+    "model = bgt.new(name=\"MS\")\n",
+    "spring = bgt.new(\"C\", name=\"spring\", value=1.0)\n",
+    "damper = bgt.new(\"R\", name=\"damper\", value=1.0)\n",
+    "mass = bgt.new(\"I\", name=\"mass\", value=1.0)\n",
+    "fe = bgt.new(\"Se\", name=\"fe\", value=1.0)\n",
+    "law = bgt.new(\"1\")\n",
+    "bgt.add(model, spring, mass, damper, fe, law)\n",
+    "bgt.connect(law, spring)\n",
+    "bgt.connect(law, mass)\n",
+    "bgt.connect(law, damper)\n",
+    "bgt.connect(fe, law)\n",
+    "\n",
+    "#<\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "timespan = [0, 30]\n",
+    "x0 = [0, 0]\n",
+    "t, x = bgt.simulate(model, timespan=timespan, x0=x0)\n",
+    "\n",
+    "plt.figure(1)\n",
+    "plt.plot(t,x, label=['position', 'velocity'])\n",
+    "plt.show()"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}

+ 196 - 0
materials/notebooks/3-BondGraphs/BondGraphs_exercises.ipynb

@@ -0,0 +1,196 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Bond Graph Modelling\n",
+    "\n",
+    "## Exercise 1: Mass-spring System\n",
+    "\n",
+    "In this exercise, you will build a bond graph model of a Mass-Spring System, illustrated below."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "![MS](resources/mass-spring.png \"MS\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The $x(t)$ denotes the position of the mass over time (in meters), and $v(t) = x'(t)$ its velocity (in meters per second). \n",
+    "$x'(t)$ denotes the time derivative of $x(t)$.\n",
+    "\n",
+    "\n",
+    "The constant $m$ denotes the mass of the mass (in kg).\n",
+    "\n",
+    "Force $f_e(t)$ denotes an external force exerted on the mass.\n",
+    "\n",
+    "The spring, when relaxed, that is, when $x(t)=0$, does not exert any force on the mass. However, when the spring is displaced by $x(t)$ meters, it exerts the force of $cx(t)$ newtons on the mass, where $c$ denotes the spring stiffness constant.\n",
+    "\n",
+    "Complete the following code to construct the bond graph model of the MS system."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "ModuleNotFoundError",
+     "evalue": "No module named 'BondGraphTools'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-1-65591fcf6218>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mBondGraphTools\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mbgt\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'BondGraphTools'"
+     ]
+    }
+   ],
+   "source": [
+    "import BondGraphTools as bgt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Create model\n",
+    "model = bgt.new(name=\"MS\")\n",
+    "\n",
+    "# TODO: Create spring element\n",
+    "spring = None\n",
+    "\n",
+    "# TODO: Create mass element\n",
+    "mass = None\n",
+    "\n",
+    "# Create force element. Default value is a constant force of 1N.\n",
+    "fe = bgt.new(\"Se\", name=\"fe\", value=1.0)\n",
+    "\n",
+    "# Create law\n",
+    "law = bgt.new(\"1\")\n",
+    "\n",
+    "# Add all elements to the model.\n",
+    "bgt.add(model, spring, mass, fe, law)\n",
+    "\n",
+    "# TODO: Complete the connections. Notice the direction.\n",
+    "bgt.connect(law, spring)\n",
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Draw the model. May need to be run more than once to produce effect.\n",
+    "bgt.draw(model)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Run a simulation\n",
+    "timespan = [0, 30]\n",
+    "\n",
+    "# Initial state [position, velocity]\n",
+    "x0 = [0, 0]\n",
+    "\n",
+    "t, x = bgt.simulate(model, timespan=timespan, x0=x0)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Plot results\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "plt.figure(1)\n",
+    "plt.plot(t,x, label=['position', 'velocity'])\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Exercise 2: Add a Damper"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "In this exercise, use Bond Graphs to model a Mass-Spring-Damper system, as illustrated below."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "![MSD](resources/mass-spring-damper.png \"MSD\")\n",
+    "\n",
+    "The dampening constant should be 1."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "\n",
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "timespan = [0, 30]\n",
+    "x0 = [0, 0]\n",
+    "t, x = bgt.simulate(model, timespan=timespan, x0=x0)\n",
+    "\n",
+    "plt.figure(1)\n",
+    "plt.plot(t,x, label=['position', 'velocity'])\n",
+    "plt.show()"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}

materials/3-BondGraphs/resources/mass-spring-damper.png → materials/notebooks/3-BondGraphs/resources/mass-spring-damper.png


materials/3-BondGraphs/resources/mass-spring-damper.svg → materials/notebooks/3-BondGraphs/resources/mass-spring-damper.svg


materials/3-BondGraphs/resources/mass-spring.png → materials/notebooks/3-BondGraphs/resources/mass-spring.png


materials/3-BondGraphs/resources/mass-spring.svg → materials/notebooks/3-BondGraphs/resources/mass-spring.svg


materials/4-Modelica/Modelica.ipynb → materials/notebooks/4-Modelica/Modelica.ipynb


materials/5-CBDModeling/CBDModelling.ipynb → materials/notebooks/5-CBDModeling/CBDModelling.ipynb


materials/lib/CBDSimulatorInterpreter/cbd/__init__.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/__init__.py


materials/lib/CBDSimulatorInterpreter/cbd/examples/SimulateTrainControlCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/SimulateTrainControlCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/examples/__init__.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/__init__.py


materials/lib/CBDSimulatorInterpreter/cbd/examples/circlePlot.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/examples/circlePlot.py


materials/lib/CBDSimulatorInterpreter/cbd/models/EvenNumbersCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/EvenNumbersCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/models/TrainControlCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/TrainControlCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/models/TrainCostModelBlock.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/TrainCostModelBlock.py


materials/lib/CBDSimulatorInterpreter/cbd/models/__init__.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/__init__.py


materials/lib/CBDSimulatorInterpreter/cbd/models/power_window.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/models/power_window.py


materials/lib/CBDSimulatorInterpreter/cbd/src/CBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/CBD.py


materials/lib/CBDSimulatorInterpreter/cbd/src/CBDDraw.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/CBDDraw.py


materials/lib/CBDSimulatorInterpreter/cbd/src/__init__.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/__init__.py


materials/lib/CBDSimulatorInterpreter/cbd/src/naivelog.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/naivelog.py


materials/lib/CBDSimulatorInterpreter/cbd/src/plot.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/src/plot.py


materials/lib/CBDSimulatorInterpreter/cbd/test/TestCounter.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/TestCounter.py


materials/lib/CBDSimulatorInterpreter/cbd/test/__init__.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/__init__.py


materials/lib/CBDSimulatorInterpreter/cbd/test/testBasicCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testBasicCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/test/testFlattenCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testFlattenCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/test/testHierarchyCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testHierarchyCBD.py


materials/lib/CBDSimulatorInterpreter/cbd/test/testSortedGraphCBD.py → materials/notebooks/lib/CBDSimulatorInterpreter/cbd/test/testSortedGraphCBD.py


File diff suppressed because it is too large
+ 1 - 1
materials/notes.drawio