{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains course material from [CBE30338](https://jckantor.github.io/CBE30338)\n", "by Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE30338.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Soft Landing a Rocket](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/07.02-Soft-Landing-a-Rocket.ipynb) | [Contents](toc.ipynb) | [Simulation of an Exothermic CSTR](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/07.04-Simulation-of-an-Exothermic-CSTR.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulation in Pyomo" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from pyomo.environ import *\n", "from pyomo.dae import *\n", "from pyomo.dae.simulator import Simulator\n", "\n", "\n", "def create_model():\n", " m = ConcreteModel()\n", "\n", " m.t = ContinuousSet(bounds=(0.0, 10.0))\n", "\n", " m.b = Param(initialize=0.25)\n", " m.c = Param(initialize=5.0)\n", "\n", " m.omega = Var(m.t)\n", " m.theta = Var(m.t)\n", "\n", " m.domegadt = DerivativeVar(m.omega, wrt=m.t)\n", " m.dthetadt = DerivativeVar(m.theta, wrt=m.t)\n", "\n", " # Setting the initial conditions\n", " m.omega[0] = 0.0\n", " m.theta[0] = 3.14 - 0.1\n", "\n", " def _diffeq1(m, t):\n", " return m.domegadt[t] == -m.b * m.omega[t] - m.c * sin(m.theta[t])\n", " m.diffeq1 = Constraint(m.t, rule=_diffeq1)\n", "\n", " def _diffeq2(m, t):\n", " return m.dthetadt[t] == m.omega[t]\n", " m.diffeq2 = Constraint(m.t, rule=_diffeq2)\n", "\n", " return m\n", "\n", "\n", "def simulate_model(m):\n", " if False:\n", " # Simulate the model using casadi\n", " sim = Simulator(m, package='casadi')\n", " tsim, profiles = sim.simulate(numpoints=100, integrator='cvodes')\n", " else:\n", " # Simulate the model using scipy\n", " sim = Simulator(m, package='scipy')\n", " tsim, profiles = sim.simulate(numpoints=100, integrator='vode')\n", "\n", " # Discretize model using Orthogonal Collocation\n", " discretizer = TransformationFactory('dae.collocation')\n", " discretizer.apply_to(m, nfe=8, ncp=5)\n", "\n", " # Initialize the discretized model using the simulator profiles\n", " sim.initialize_model()\n", "\n", " return sim, tsim, profiles\n", "\n", "\n", "def plot_result(m, sim, tsim, profiles):\n", " import matplotlib.pyplot as plt\n", "\n", " time = list(m.t)\n", " omega = [value(m.omega[t]) for t in m.t]\n", " theta = [value(m.theta[t]) for t in m.t]\n", "\n", " varorder = sim.get_variable_order()\n", "\n", " for idx, v in enumerate(varorder):\n", " plt.plot(tsim, profiles[:, idx], label=v)\n", " plt.plot(time, omega, 'o', label='omega interp')\n", " plt.plot(time, theta, 'o', label='theta interp')\n", " plt.xlabel('t')\n", " plt.legend(loc='best')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "model = create_model()\n", "sim, tsim, profiles = simulate_model(model)\n", "plot_result(model, sim, tsim, profiles)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Soft Landing a Rocket](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/07.02-Soft-Landing-a-Rocket.ipynb) | [Contents](toc.ipynb) | [Simulation of an Exothermic CSTR](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/07.04-Simulation-of-an-Exothermic-CSTR.ipynb) >

\"Open

\"Download\"" ] } ], "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }